2012-09-18 2 views

risposta

29

Jesus Rodriguez ha ragione su POST e GET, ma se si ha realmente bisogno il pulsante si può semplicemente di override il metodo di default:

<%= button_to "New User", new_user_path, :class => "button", :method => :get %> 
+0

funzionano bene! grazie amico :) –

19

Il "link_to" è alla ricerca di un /utenti/nuovi utilizzando GET.

Il "button_to" è alla ricerca di un /utenti/nuovi utilizzando POST

Se si creano i percorsi per un controller utilizzando:

resources :user 

Per impostazione predefinita, /utenti/nuovo è un GET e non POST così, la seconda riga non trova alcun percorso.

Se stai pensando di cambiare questa azione a POST Penso che dovresti dimenticartene.

3

Invece di costringere button_to ad utilizzare un metodo non predefinito, è possibile anche inviare una classe per link_to.

<%= link_to "New User", new_user_path, :class => "button" %> 
+0

Per aggiungere a questo, è possibile aggiungere classi per farlo sembrare "come un pulsante" (come la risposta mostra sopra). Nel mio caso sto usando bootstrap e ho fatto il seguente '<% = link_to" Nuovo utente ", new_user_path,: class =>" btn btn-default "%>' –