2010-01-18 66 views
2

我堅持一個更多的時間......和更多的時間,我懷疑這是一個愚蠢的語法問題:軌道 - 傳:PARAMS在URL

我想通過在URL 2個vaiables有我的超級簡單的搜索。

我期待這樣的URL: http://mydomain/categories/search?search=pdf&os=2 但我得到這個: http://mydomain/categories/search?search=pdf&os[]=

我認爲它應該像這樣工作:

<% form_tag search_path, :method => 'get' do %> 
    <%= text_field_tag :search, params[:search] %> 
    <%= hidden_field :os, params[@category.id] %> 
    <%= submit_tag "Search", :name => nil %> 
<% end %> 

...但好,它沒」 t做它...

有沒有人知道我要去哪裏錯了?

謝謝!

瓦爾

回答

6

您需要修改的線位,採用hidden_field_tag效果:

<%= hidden_field_tag :os, :value => @category.id %> 

更多信息,請參見hidden_field_tag documentation

+0

太棒了!謝謝你Veger! 我最終通過params [:symbol]檢索id: <%= hidden_​​field_tag:os,params [:id]%> 很棒! – 2010-01-18 16:38:50

2
<%= hidden_field :os, params[@category.id] %> 

即將接入的params哈希表的關鍵與@ category.id,會有這樣的鑰匙嗎?看起來不是,作爲它的返回零。

好像你想要的東西的

<%= hidden_field :os, @category.id %> 
+0

嗨micholson!感謝您的快速回復! 我試過了,它返回 http:// mydomain/categories/search?search = pdf&os [2] = (其中2是正確的category.id) 但是這並不能讓我獲得類似的值。 .. http:// mydomain/categories/search?search = pdf&os = 2 ...,是嗎? Val – 2010-01-18 13:52:53