私は与えられたタグに基づいてレシピ上で検索機能を実装しようとしています。私は、それらがどのように動作するのか、コードがどこに正確に配置されるのかを理解しようとする問題にぶつかっています。Railsはラベル(タグ)で投稿を検索します
これは私のレシピのモデルである:私はそれは私が次の達成しようとしている何recipe_name
recipe_description
とserving_size
などの分野で検索することができるよそう働いてしまった
class Recipe < ApplicationRecord
has_many :ingredients
has_many :directions
has_many :labels
def self.search(search)
where("recipe_name ILIKE ? OR recipe_description ILIKE ?
OR serving_size ILIKE ?", "%#{search}%", "%#
{search}%", "%#{search}%")
end
end
検索ですそれは持っている多くのラベルに基づいてレシピ:
これはRecipeController
私はそれについていくつかの方法を試しましたが、私はそれを理解できないようです。私はjoins
メソッドをactiveRecordガイドで読んだことがあります。ここで
は、私はすでに試みた何か、ではないことを確認なぜイム以下ではありません私は検索する合流使用しての私の理解で間違ったつもりどこ...
def self.search(search)
where("recipe_name ILIKE ? OR #{Recipe.joins(:labels).where(labels.label_name = "?")} ILIKE ? OR serving_size ILIKE ?", "%#{search}%", "%#{search}%", "%#{search}%")
end
は、誰もが指摘することはできますか?
ご迷惑をおかけして申し訳ありません。素晴らしい答え:) – MattEhrlich