1

运行搜索后如何保留“按下”单选按钮的状态?我正在使用 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
4

1 回答 1

1

如果您使用form_tag, thenradio_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>
于 2013-11-09T13:22:28.120 回答