рельсы - прохождение: params в url - PullRequest
2 голосов
/ 18 января 2010

Я застрял еще раз ... и еще раз подозреваю, что это глупая проблема синтаксиса:

Я хочу передать 2 переменные в URL с моей супер простой формой поиска.

Я ожидал такой 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 %>

... но хорошо, он этого не делал ...

Кто-нибудь знает, где я иду не так?

Спасибо!

Val

Ответы [ 2 ]

6 голосов
/ 18 января 2010

Вам нужно немного изменить строку, используя hidden_field_tag:

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

Для получения дополнительной информации см. Документацию hidden_field_tag ​​.

2 голосов
/ 18 января 2010
  <%= hidden_field :os, params[@category.id] %>

Собирается ли получить доступ к ключу в хэше params с помощью @ category.id, есть ли такой ключ?Похоже, что нет, так как возвращается ноль.

Похоже, вы хотите что-то с эффектом

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