Un link_to
sarà sempre messo gli argomenti nella stringa di query come si sta creando un collegamento HTML get-stile - anche se si mette :method => :post
che solo aggiunge un ulteriore argomento ("special") _method
.
Quello che penso che tu voglia veramente è un collegamento button_to
- che lo trasformerà in una sorta di modulo. Funziona allo stesso modo, ma invece è (ad esempio, button_to 'My link', path(:params => :go_here)
. Il lato negativo è che assomiglierà a un pulsante, ma puoi dargli una classe CSS (ad esempio "unbutton") e quindi modificare lo stile su quella classe CSS per renderlo diverso da un pulsante:
In alternativa, se ciò che realmente si desidera è in realtà non avere alcun params
passato al controller ... quindi non includerli quando si effettua il collegamento (ad esempio, link_to "My link" path
- non c'è bisogno per :post
se non si desidera inviare alcun params
)
Infine, se quello che vuoi è per il params
entrare a far parte del URL (ad esempio,., ecc.), Quindi è necessario aggiornare i percorsi per includere questi parametri come opzioni. Dai un'occhiata alla sezione di routing del rdoc per come farlo.
fonte
2010-03-01 16:29:09
Questa soluzione mi ha richiesto ore di googling! Sono nuovo di Rails. button_to risolto il mio problema. Grazie mille! – Will
Aggiornamento al riguardo: 4.1 spedisce button_to con un parametro params (con getcha che non consente parametri nidificati, * dough *), dove i parametri sono realmente costruiti usando campi nascosti. Questo è probabilmente quello che vuoi. – Felix
Neato ... beh ... il mio consiglio è ancora valido per Rails passato, ma è bello vedere che finalmente hanno trovato una soluzione di qualche tipo là fuori. –