検索入力の 2 つのパラメーターに基づく小さな検索方法を実行しました。私のコードは次のようなものです:
def self.search(search, page)
result = where("dead = ? and sold = ?", false, false)
if not search.nil? and not search.empty?
# regex for 'number - any word'
search = search.split(' ')[0] if not (/^\d+ - .+$/ =~ search).nil?
if not search.integer?
result = result.where("name like ?", "%#{search}%")
else
result = result.where("earring = ?", search.to_i)
end
end
result.paginate(:page => page)
.includes(:mother, :father, :animal_type, :race)
.order(:earring)
end
ご覧のとおり、かなり醜いです。動作しますが、醜いです。
だから、私はそれをより良くする方法を見つけようとしています..しかし、方法がわかりません。
皆さんが私に方向性を教えてくれることを願っています。
前もって感謝します