Rails form_tag元素选择基于url params

时间:2014-03-31 13:22:07

标签: ruby-on-rails forms

您好我正在使用form_tag来设置一些url-params,以便自定义如何加载chartkick图表。

例如:

<%= form_tag("/authors/renderChart/#{params[:id]}", method: "get", remote: true) do %>
 <%= label_tag(:sort, "Sort Direction") %>
 <%= radio_button_tag :sort, "asc"%>
 <%= label_tag(:sort_asc, "Ascending") %>
 <%= radio_button_tag :sort, "desc"%>
 <%= label_tag(:sort_desc, "Descending") %>
 <%= submit_tag("Search") %>
<% end %>

现在的问题是,我可以根据现有的参数预先选择其中一个单选按钮吗?考虑到将要定制的许多内容,我希望所选的选项在渲染之间保持相同,以便当有人想要时,例如更改显示的项目数量排序方向保持之前选择的任何内容。

是否有一个简单的选项,或者我是否需要将其放入帮助程序并使用if params[:sort] == "desc" ... radio_button_tag :sort "desc" true之类的if语句包围所有内容。这看起来有点麻烦......

1 个答案:

答案 0 :(得分:1)

根据radio_button_tag的文档,第三个参数(布尔值)在这里检查或不检查:

radio_button_tag(name, value, checked = false, options = {})

在您的情况下

radio_button_tag :sort, "asc", params[:sort] == 'asc'