在form_tag提交get方法上保留radio_button值

时间:2015-11-22 04:43:58

标签: ruby-on-rails radio-button

我认为这很简单,但在这里真的很挣扎:

<%= form_tag(admin_articles_path, method: "get") do %>

  <p><%= radio_button_tag(:filter, "all") %>
  <%= label_tag(:filter, "All") %></p>

  <p><%= radio_button_tag(:filter, "pub") %>
  <%= label_tag(:filter, "Published") %></p>

  <p><%= radio_button_tag(:filter, "unpub") %>
  <%= label_tag(:filter, "Unpublished") %></p>

  <p><%= radio_button_tag(:filter, "feat") %>
  <%= label_tag(:filter, "Featured") %></p>

 <p> <%= submit_tag("Show", class: "btn btn-sm btn-primary") %></p>

   <% end %>

我的控制器中有一些排序逻辑,当我提交这个时,我希望radio_button值保持在新视图中。我该怎么做?

感谢!

2 个答案:

答案 0 :(得分:1)

你想要做这种事情。例如,使用all选项......

<p><%= radio_button_tag(:filter, "all", params[:filter] == "all") %>

第3个参数是一个布尔值,表示是否检查它。

您还需要取消选中收音机。我用这个......

<p><%= radio_button_tag(:filter, '', params[:filter].nil?) %>

答案 1 :(得分:0)

在您的接收控制器操作中:

@filter = params[:filter]

然后您可以在相应的视图中访问单选按钮选择。