私が取り組んでいるプロジェクトのカスタム検索方法を作成しようとしています。理想的には、結果をフィルタリングするためにユーザー入力と無制限のキーワードを持つことができるようにしたいと思いますが、私はちょうどカップルのために解決するつもりです。私は自分のコードをただ一つのキーワードのために働いています。ここに私のモデルのコードは次のとおりです。複数のキーワードでクエリを呼び出す
class Food < ActiveRecord::Base
has_many :meal_items, inverse_of: :food_for_meal, foreign_key: 'food_for_meal_id'
has_many :user_meals, through: :meal_items
def self.search (key)
Food.where("description LIKE ?", "%#{key}%")
end
end
ここでは、複数のキーワードを使用するには、私が作った一つの試みである:
class Food < ActiveRecord::Base
has_many :meal_items, inverse_of: :food_for_meal, foreign_key: 'food_for_meal_id'
has_many :user_meals, through: :meal_items
def self.search (key)
keys = key.split('+')
Food.where("description LIKE ?", "%#{keys[0]}%")
AND ("description LIKE ?", "%#{keys[1]}%")
end
end
私は等々括弧や引用符の中と外のものを移動しようとしたとしているが、正しい構文を釘付けにすることはできません。どんな助けもありがとう。
フルテキスト検索を検索したいと思われるようです。 PGまたはMySQLを使用していますか? – mmichael
@ mmichael PG。全文検索に精通していない。 – Atache
[Textacular gem](https://github.com/textacular/textacular) – mmichael