假设我有食谱和配料,所以有一个关系n:m。
好的,一切都好,关系有效,我有一个名为ingredients_recipe的连接表,以及数据库中每个配方的商店配方ID和配料ID。
现在,我想创建一个搜索表单,您可以在其中选择成分,然后显示含有成分的食谱。
例如:
我选择土豆,西红柿和大米,所以它应该显示含有成分的食谱。
答案 0 :(得分:0)
请查看以下视图以及搜索代码:
查看:
<%= form_tag (search_url) do %>
<% @ingredients.each do |ing| %>
<%= check_box_tag "ingredient_ids[]", ing.id, id: => "ingredient_ids_#{ing.id}" %>
<% end %>
<%= submit_tag "Search" %>
<% end %>
控制器:
def search
@recipes = Recipe.joins(:ingredients_recipes).where(
ingredients_recipes: { ingredient_id: params[:ingredient_ids] }
)
end