私のevents
コントローラーには次のものがあります。
def index
@event = Event.search(params[:search]).events_by_category(params[:cat]).order(...).paginate(...)
end
そして私のevents
モデルには、次のクラスメソッドがあります。
def self.events_by_category(cat)
if cat == 0
all
elsif cat && cat != 0
where('category = ?', cat)
else
scoped
end
end
そして私の見解では、検索用の標準の検索ボックスとカテゴリ選択用のドロップダウンがあります。カテゴリoptions_for_select
には、それに含まれる配列があります["All Categories", 0]
。
私の質問は、ドロップダウンで[すべてのカテゴリ]が選択されているときに、すべての結果ではなく結果が返されないのはなぜですか。そして、配列をに変更する["All Categories", "ALL"]
と、それにifステートメントがif cat == "ALL"
返されますUndefined method 'order'
か?
これは、コントローラーでsearchとevents_by_categoryをつなぎ合わせるのと関係があると思いますが、すべてのカテゴリーが選択されていない場合、検索とカテゴリーはうまく連携して機能します...
どんな助けでも大歓迎です!