【发布时间】:2016-01-07 03:58:03
【问题描述】:
假设我有食谱和配料,所以有一个关系 n:m。
好的,一切正常,关系有效,我有一个名为 ingredients_recipe 的联接表及其存储配方 ID 和数据库中每个配方的成分 ID。
现在,我想创建一个搜索表单,您可以在其中选择成分,然后显示包含这些成分的食谱。
例如:
我选择土豆、番茄和米饭,所以它应该显示包含这些成分的食谱。
【问题讨论】:
标签: ruby-on-rails ruby search
假设我有食谱和配料,所以有一个关系 n:m。
好的,一切正常,关系有效,我有一个名为 ingredients_recipe 的联接表及其存储配方 ID 和数据库中每个配方的成分 ID。
现在,我想创建一个搜索表单,您可以在其中选择成分,然后显示包含这些成分的食谱。
例如:
我选择土豆、番茄和米饭,所以它应该显示包含这些成分的食谱。
【问题讨论】:
标签: ruby-on-rails ruby search
请找到以下视图以及搜索代码:
查看:
<%= 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
【讨论】: