在Rails 4中将参数添加到当前URL的简单方法?

时间:2014-10-03 01:04:40

标签: ruby-on-rails html5 forms url html-form

在我网站的特定页面上,有各种潜在的网址参数:

http://www.example.com/my_webpage?at=2014-01-01&page=5

现在我想要一个简单的方法来添加一个参数:

http://www.example.com/my_webpage?at=2014-01-01&page=5&records=100

所以我尝试使用嵌入式Ruby的以下HTML:

<form action="<%= request.original_url %>" method="get"># of records <input type="text" name="records"/></form>

问题是打开的结果页面是:

http://www.example.com/my_webpage?records=100

基本上,旧参数会被抹去。保留它们的简单方法是什么?我可以循环遍历params哈希并添加hidden_tag s(我必须有选择地排除params而不是请求参数的一部分),但我希望有这样一个常见的用例场景有一个更好的更简单的方法。

1 个答案:

答案 0 :(得分:-1)

虽然没有一种简单的Rails方法可以自动执行此操作,但Rails确实通过request.query_parameters哈希提供对请求参数的访问。所以我只需要在表单中添加:

<% request.query_parameters.each do |key, val|%>
  <input type="hidden" name="<%= key %>" value="<%= val %>"/>
<% end %>