我在子类别的路线中有以下条目**(a.k.a。类型)**页面:
match '/jewellery/:taxon/(:tag)' => 'shop#index', :as => 'shop'
我也在子类别页面上有一组过滤器(类型,材料,电镀等)。所以,考虑一个分类“耳环”。我在这个分类中有以下子类别 - “Danglers”,“Hoops”,“Studs”。 因此,相应的子类别页面是“/ jewellery / earrings / danglers”,“/ jewellery / earrings / hoops”和“/ jewellery / earrings / studs”。
我想要一种功能,如果用户进入子类别页面,则应检查类型过滤器中的相应复选框。所以,如果我去“/ jewellery / earrings / studs”,默认情况下应选中标有“Studs”的复选框。我想允许多种类型选择,因此来自过滤器的输入需要是一个数组。我有以下代码:
<% Typelabels.each { |label| %>
<%if filter[:name] == "Type"%>
<% if (!params["type"].nil? && (params["type"].member? label))
or (!params[:tag].nil? && params[:tag].gsub(/[+-]/," ") == label.downcase)%>
<input type="checkbox" id='<%= label.to_s %>' name="type[]" value="<%= label %>" checked />
<label for="<%= label.to_s %>" class="<%= t %>_name_label"><%= label%></label>
<%else%>
<input type="checkbox" id='<%= label.to_s %>' name="type[]" value="<%= label %>"/>
<label for="<%= label.to_s %>" class="<%= t %>_name_label"><%= label%></label>
<%end%>
<% end %>
<%}%>
但挑战是,当我取消选中“Studs”(默认情况下已选中“/ jewellery / earrings / studs”)框时,我会被重定向到与tag
相同的页面。 params是固定的。
请有人帮帮我