2010-01-18 5 views
2

я застрял еще раз ... и еще один раз, когда я подозреваю, что это глупая проблема синтаксиса:рельсы - прохождение: Титулы в URL

Я хочу передать 2 vaiables в 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 %> 

... но хорошо, это Ждут» t сделать это ...

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

Спасибо!

Val

ответ

6

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

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

ВИДЕТЬ hidden_field_tag documentation для получения дополнительной информации.

+0

Это замечательно! Спасибо, Вегер! В итоге я получаю идентификатор через params [: symbol]: <% = hidden_field_tag: os, params [: id]%> Отлично работает! –

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

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

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

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

Hi micholson! Спасибо за быстрый ответ! Я пробовал это, и он возвращает http: // mydomain/categories/search? Search = pdf & os [2] = (при правильном выборе 2 category.id) Но это не дает мне доступ к значению типа. .. http: // mydomain/categories/search? Search = pdf & os = 2 ..., не так ли? Val –