Domanda

Sono bloccato ancora una volta...e ancora una volta sospetto che sia uno stupido problema di sintassi:

Voglio passare 2 variabili nell'URL con il mio semplicissimo modulo di ricerca.

Mi aspettavo un URL come questo:http://miodominio/categories/search?search=pdf&os=2Ma capisco questo:http://miodominio/categories/search?search=pdf&os[]=

Ho pensato che dovrebbe funzionare così:

<% 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 %>

...ma beh, non è stato così...

Qualcuno sa dove sbaglio?

Grazie!

Val

È stato utile?

Soluzione

È necessario modificare leggermente la riga, utilizzando hidden_field_tag:

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

Vedi il documentazione hidden_field_tag per maggiori informazioni.

Altri suggerimenti

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

Sta per accedere a una chiave nella hash params con @ category.id, c'è una tale chiave? Sembra che non è, come il suo ritorno nullo.

Sembra che si desidera qualcosa per l'effetto di

  <%= hidden_field :os, @category.id %>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top