如何在运行搜索后保留“推送”单选按钮的状态?我正在使用Ransack gem来生成此搜索。
查看:
<%= search_form_for @search do |f| %>
<strong>Location</strong></br>
<%= radio_button_tag("q[location_cont]", "Kentucky") %>
<%= label_tag "Kentucky" %></br></br>
<%= radio_button_tag("q[location_cont]", "Kansas") %>
<%= label_tag "Kansas" %></br></br>
<%= f.submit "Search" %>
<% end %>
控制器:
def index
@search = Job.search(params[:q])
@jobs = @search.result
end
答案 0 :(得分:1)
如果您使用form_tag
,则radio_button_tag
将是有效的字段类型。您可以使用第三个参数来指示是否选择了按钮:
<%= radio_button_tag("q[location_cont]", "Kentucky", params[:q] && params[:q][:location_cont] == "Kentucky") %>
<%= label_tag "Kentucky" %></br></br>
<%= radio_button_tag("q[location_cont]", "Kansas", params[:q] && params[:q][:location_cont] == "Kansas") %>
<%= label_tag "Kansas" %></br></br>
由于您使用的是Ransack search_form_for
,因此您想使用radio_button
,我认为您需要这样的内容:
<%= f.radio_button(:location_cont, "Kentucky") %>
<%= f.label :location_cont, "Kentucky", value: "Kentucky" %></br></br>
<%= f.radio_button(:location_cont, "Kansas") %>
<%= f.label :location_cont, "Kansas", value: "Kansas" %></br></br>