2014-10-03 46 views
1

在我的網站的特定頁面,有多種潛在的URL參數:在Rails 4中添加參數到當前URL的簡單方法?

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(我必須有選擇地排除參數不是請求參數的一部分),但我期望在這種常見的用例情況下有更簡單的方法。

+0

顯然,您將不得不使用hidden_​​tags。沒有更好的辦法。 [See](http://stackoverflow.com/questions/1116019/submitting-a-get-form-with-query-string-params-and-hidden-params-disappear) – 2014-10-03 06:23:57

+0

有沒有一種簡單的方法來遍歷在Rails中請求參數?我的意思是'params'哈希包含請求參數以及URL中的參數。 – 2014-10-03 06:44:10

回答

-1

雖然沒有簡單的Rails方式自動完成此操作,但Rails確實通過request.query_parameters散列提供了對請求參數的訪問。所以我只需要在表格中添加這個:

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

我建議使用'params'而不是'request.query_parameters'。 – 2014-10-03 07:12:15

+0

雖然我不想要所有的參數,但只有那些在當前頁面的URL中 – 2014-10-03 07:23:33

相關問題