Spesso uso js/jquery per inviare moduli. È molto utile se il pulsante di invio è esterno al modulo o se è presente più di un pulsante che invia lo stesso modulo.
$(".submit-btn").click(function(event) {
event.preventDefault();
$("#form-id").submit();
});
Il event.preventDefault();
impedisce il tasto di default/submit comportamento.
Ecco un esempio CoffeeScript ho usato in un progetto di 4 rotaie:
ready = ->
if $("#form-id").length > 0
$(".submit-btn").click (event) ->
event.preventDefault()
$("#form-id").submit()
$(document).ready ready
$(document).on "page:load", ready
Si noti inoltre, in questo modo il collegamento può essere qualsiasi tipo di elemento - non necessariamente un pulsante di invio. Non è necessario avere il pulsante di invio all'interno del modulo, ma se si esegue lo preventDefault
si impedirà il comportamento di invio del modulo predefinito.
Solo per curiosità, perché vuoi farlo? Ad ogni modo, aggiungi semplicemente un gestore all'evento click del link, che invia il modulo. –
Basta modellare il tuo pulsante per apparire come un collegamento o utilizzare alcuni Javascript per inviare il modulo. Questo non è specifico per Rails. – tirdadc
L'ho visto fare riferimento come una domanda in alcuni punti, quindi ero solo curioso di sapere se esiste un Rails-way o un helper che lo rende più semplice da fare, ma in base alle risposte è solo il javascript che rende il risultato desiderato. –