Rails 3:如何混合形式参数和URL参数?

时间:2013-05-13 14:45:56

标签: ruby-on-rails

我正在开发一个遗留应用,并且正在尝试将其升级到Rails 3.目前,当我进行搜索时,我会获得以下网址:http://localhost:3000/search/external_search/?keyword=argentina。但是,当我尝试过滤掉结果时,我得到http://localhost:3000/search/external_search/?order=Name:ASC,而网址中没有关键字参数。由于没有关键字参数,过滤器不起作用。这弄乱了我的过滤器,所以我决定添加一个隐藏的字段标签

<%= hidden_field_tag 'keyword', @search.text %>

这使它工作,但URL没有改变。我希望它看起来像:

http://localhost:3000/search/external_search/?keyword=argentina&order=Name:ASC

我到底在哪里完成这项工作?在控制器或表格?

1 个答案:

答案 0 :(得分:1)

如果您想在网址中查看已提交表单的参数,则必须使用GET方法而不是POST

:method => :get选项添加到封闭form_for

form_tag<%= hidden_field_tag 'keyword', @search.text %>