【发布时间】:2018-09-23 14:23:15
【问题描述】:
我有一个使用 Ransack 构建的有效搜索表单,其中包含两个单独的搜索字段,用于两个不同的类,如下所示:
<%= search_form_for @q do |f| %>
<%= f.label :tags_id_in, 'Tags' %>
<%= f.select :tags_id_in, Tag.all.map{ |u| [u.name, u.id] }, { include_blank: "Tags" } %>
<%= f.label :sector_id_eq, 'Sector' %>
<%= f.select :sector_id_eq, Sector.all.map { |w| [w.name, w.id] }, {include_blank: 'Any'} %>
<%= f.submit "Search" %>
<% end %>
这些类中的每一个都链接到一个公司类
class Company < ApplicationRecord
belongs_to :sector
has_many :company_tags
has_many :tags, through: :company_tags
accepts_nested_attributes_for :company_tags
end
我正在尝试将两个选择字段合并为一个。到目前为止,我可以像这样构建视图:
<% combined = Sector.all + Tag.all %>
<%= f.select :combined, combined.map { |w| [w.name, w.id] }.sort, {include_blank: 'Any'} %>
虽然上述方法仅适用于显示单个搜索表单,但它没有任何功能。有人能帮忙吗?提前致谢。
【问题讨论】:
-
你能澄清你想要达到的目标吗?据我了解,您想根据
id在 2 个不同的模型上进行搜索。如果将它们结合起来,你怎么知道哪个模型代表了所选的 id?
标签: ruby-on-rails ruby ruby-on-rails-5 ransack