私のトラック モデルには、:moods、:genres、および :tempos (それぞれ、同様に has_and_belongs_to_many :tracks) があります。
ユーザーが任意の数のジャンル、ムード、およびテンポを指定できる検索「フィルター」を構築しようとしています。これにより、各フィルタリングの程度から任意の条件に一致するトラックが返されます。
クエリの例は次のとおりです。
params[:genres] => "Rock, Pop, Punk"
params[:moods] => "Happy, Loud"
params[:tempos] => "Fast, Medium"
これらすべてのジャンルに一致するトラックの配列を作成する場合、その配列から任意のすべての気分パラメーターに属するトラックを選択し、その 2 番目の配列から任意のテンポにも一致するすべてのトラックを選択するにはどうすればよいですか?パラメータ?
私は初期配列を構築しています
@tracks = []
Genre.find_all_by_name(genres).each do |g|
@tracks = @tracks | g.tracks
end
どこgenres = params[:genres].split(",")
ありがとう。