如何在Ruby on Rails中创建带有复选框的搜索表单?

时间:2016-01-07 03:58:03

标签: ruby-on-rails ruby search

假设我有食谱和配料,所以有一个关系n:m。

好的,一切都好,关系有效,我有一个名为ingredients_recipe的连接表,以及数据库中每个配方的商店配方ID和配料ID。

现在,我想创建一个搜索表单,您可以在其中选择成分,然后显示含有成分的食谱。

例如:

我选择土豆,西红柿和大米,所以它应该显示含有成分的食谱。

1 个答案:

答案 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