Form_for 渲染列表 check_box
Form_for with render list of check_box
我在标签上方有搜索功能。我想在 form_for 中呈现所有带有 check_box 的标签,我将过滤这些标签并使用新参数再次呈现所有项目。
= form_for @tags do |f|
- @tags.each do |tag|
f.check_box(#{tag}, "yes")
f.label_tag "#{tag}"
f.submit 'Filter'
end
我不知道你在问什么,因为你的问题不是很清楚,但正在努力理解你的问题。如果我理解你的问题,那么你需要在搜索页面上添加一个带标签的过滤器,对吗?如果是,请尝试以下步骤。
为
之类的搜索标签创建表单
<%= form_tag search_path, method: :get do %>
<% for tag in Model.order("name") %> #=> Model means which stored your tags like "Tag"
<%= check_box_tag("#{tag.name}[]", "#{tag.name}") %> tag.name
OR
<%= check_box_tag("tags[]", "#{tag.name}") %> tag.name
<% end %>
<%= submit_tag "Filter" %>
<% end %>
或如果您需要单独过滤,请单击link并保持当前搜索,然后
<% for tag in Model.order("name") %> #=> Model means which stored your tags like "Tag"
<%= link_to tag.name, request.query_parameters.merge({tag: tag.name}) %>
<% end %>
请参阅下图,通过单击 link
保持当前搜索和筛选
这些都是查看功能,您需要更新您的 SQL 查询。
我认为这会有所帮助。
成功了:
= form_tag({controller: 'searches', action: 'filter'}, method: 'get') do
ul
- @tags.each do |tag|
li
input type='checkbox' name="tags[]" checked="checked" id="#{tag}" value="#{tag}"
label_tag for="#{tag}" #{tag}
button Filter
我在标签上方有搜索功能。我想在 form_for 中呈现所有带有 check_box 的标签,我将过滤这些标签并使用新参数再次呈现所有项目。
= form_for @tags do |f|
- @tags.each do |tag|
f.check_box(#{tag}, "yes")
f.label_tag "#{tag}"
f.submit 'Filter'
end
我不知道你在问什么,因为你的问题不是很清楚,但正在努力理解你的问题。如果我理解你的问题,那么你需要在搜索页面上添加一个带标签的过滤器,对吗?如果是,请尝试以下步骤。
为
之类的搜索标签创建表单<%= form_tag search_path, method: :get do %>
<% for tag in Model.order("name") %> #=> Model means which stored your tags like "Tag"
<%= check_box_tag("#{tag.name}[]", "#{tag.name}") %> tag.name
OR
<%= check_box_tag("tags[]", "#{tag.name}") %> tag.name
<% end %>
<%= submit_tag "Filter" %>
<% end %>
或如果您需要单独过滤,请单击link并保持当前搜索,然后
<% for tag in Model.order("name") %> #=> Model means which stored your tags like "Tag"
<%= link_to tag.name, request.query_parameters.merge({tag: tag.name}) %>
<% end %>
请参阅下图,通过单击 link
保持当前搜索和筛选这些都是查看功能,您需要更新您的 SQL 查询。
我认为这会有所帮助。
成功了:
= form_tag({controller: 'searches', action: 'filter'}, method: 'get') do
ul
- @tags.each do |tag|
li
input type='checkbox' name="tags[]" checked="checked" id="#{tag}" value="#{tag}"
label_tag for="#{tag}" #{tag}
button Filter