rails - pass:urms in url

时间:2010-01-18 13:25:10

标签: ruby-on-rails forms get params hidden-field

我再次陷入困境......还有一次我怀疑这是一个愚蠢的语法问题:

我想用我的超级简单搜索表单在网址中传递2个vaiables。

我期待这样的网址: 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 %>

......但是,它没有这样做......

有谁知道我哪里出错了?

谢谢!

缬氨酸

2 个答案:

答案 0 :(得分:6)

您需要使用hidden_field_tag

稍微修改一行
<%= hidden_field_tag :os, :value => @category.id %>

有关详细信息,请参阅hidden_field_tag documentation

答案 1 :(得分:2)

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

是否会使用@ category.id访问params哈希中的密钥,是否有这样的密钥?看起来没有,因为它回来了。

好像你想要一些影响

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