カテゴリとサブカテゴリに基づいてフィルタリングしようとしています。今、私はそれをアヤックスなしでやっています。私は最初のフィルタカテゴリに基づいてする場合は、次のURLは正しいパラメータを取っていますが、レールに正しい結果を表示しません。
は私のコントローラメソッド
def filter
x = params[:category_id]
y = params[:sub_category_id]
#@wanted_equipments = WantedEquipment.Approved.where(category_id: "#{x}", sub_category_id: "#{y}")
if x
@wanted_equipments = WantedEquipment.Approved.where(category_id: "#{x}")
elsif x && y
@wanted_equipments = WantedEquipment.Approved.where(category_id: "#{x}", sub_category_id: "#{y}")
end
end
で、URLは次のようになります。
http://localhost:3000/wanted_equipments/filter?utf8=%E2%9C%93&category_id=1
そして、そのカテゴリの下に機器を表示します。 次はサブカテゴリを選択してフィルタを入力するときです。 URLは次のようになります。
http://localhost:3000/wanted_equipments/filter?utf8=%E2%9C%93&category_id=1&sub_category_id=3
これは、sub_category_idに基づいてさらにフィルタリングされています。しかし、以前と同じデータを表示しています。つまり、urlにはsub_category_idが指定されていてもcategory_idのみをパラメータとして使用しています。
私は何か間違っていることを知っています。私は違う条件を試しましたが、これを解決することはできません。誰かがサブカテゴリを考慮するためにコントローラーをどのように変更する必要がありますか教えてください。
ここで承認されるものは何ですか?私はそのスコープとその名前を承認する必要があると思う。 –
ああ、管理者側からの機能です。それは承認された機器だけを表示します。 – user3576036
小文字で関数名を使用する必要があります。これ以外にも、以下の回答は良いです。 –