我有两个复选框列表。一个是商店列表,一个是属于这些商店的分类法列表。现在无论选择哪个商店,都会显示所有分类。如何显示仅属于所选商店的分类法?
html.erb
<h3>Stores Offered In</h3>
<ul class="multi-column-checkbox">
<% for store in Store.all %>
<li><%= check_box_tag "idea[store_ids][]", store.id,
@idea.stores.include?(store) %> <%= store.name %></li>
<% end %>
</ul>
<br />
<h3>Taxonomies Offered In</h3>
<% for store in Store.all %>
<% if store.has_taxonomies? %>
<ul class="multi-column-checkbox-taxonomies" >
<h4><%= store.name %></h4>
<% for taxonomy in store.taxonomies
%>
<li><%= check_box_tag "idea[taxonomy_ids][]",
taxonomy.id, @idea.taxonomies.include?(taxonomy) %> <%= taxonomy.name %></li>
<% end %>
</ul>
<% end %>
<% end %>
分类法.rb
class Taxonomy < ActiveRecord::Base
validates_presence_of :name, :store_id
belongs_to :store
has_and_belongs_to_many :ideas, :join_table => "taxonomies_ideas"
validates_uniqueness_of :name, :scope => :store_id
end
商店.rb
class Store < ActiveRecord::Base
validates_uniqueness_of :code
has_and_belongs_to_many :ideas, :join_table => "stores_ideas"
has_many :taxonomies
def has_taxonomies?
taxonomies.count > 0
end
end
我试图在我的 application_helper.rb 中创建一个助手:
def show_hide(show)
show ? 'block' : 'none'
end
并把它放在我看来:
<h3>Taxonomies Offered In</h3>
<% for store in Store.all %>
<% if store.has_taxonomies? %>
<ul class="multi-column-checkbox-taxonomies" style="display: <%=
show_hide(@application.______?)%>;" >
<h4><%= store.name %></h4>
<% for taxonomy in store.taxonomies
%>
<li><%= check_box_tag "idea[taxonomy_ids][]",
taxonomy.id, @idea.taxonomies.include?(taxonomy) %> <%= taxonomy.name %></li>
<% end %>
</ul>
<% end %>
但我不知道方法的名称
我希望这些商店复选框可以通过切换功能来控制可能显示的分类法。