2013-05-13 17 views
15

Sto usando garlic.js per convalidare i miei moduli. Garlic.js consiglia di aggiungere un attributo di dati sul tag di modulo .Come aggiungere attributo dati al tag form in simple_form?

Ecco cosa ho bisogno di generare:

<form data-validate="parsley"> 

sto avendo problemi a generare questo attributo di dati sul tag form. Ho provato tutto e niente ha funzionato. Qualcuno ha una soluzione a questo?

risposta

23

Prova questo:

<%= simple_form_for @entity, :html => {:"data-validate" => 'parsley'} do |f| %> 
    <!-- inputs --> 
<% end %> 

Aggiornamento

Dal commento qui sotto, per avere il modulo di includere un attributo dati HTML5 senza alcun valore provare quanto segue:

<%= simple_form_for @entity, :html => {:"other-data-value" => ''} do |f| %> 

By impostando l'attributo su una stringa vuota, l'helper del modulo esegue solo l'attributo.

+0

Grazie Dan, ha funzionato! –

+0

Prego! –

+0

cosa fare se l'attributo dati non ha bisogno di un valore? basta la validazione dei dati? Ho provato con la convalida dei dati: true ma non funziona –

0

Per chiunque imbattersi in questo nel 2016 utilizzando la versione più recente di Rails (4) o la versione più recente di Prezzemolo (2) qui è ciò che è necessario fare:

Prima di tutto per attivare il prezzemolo con gli attributi dei dati nella nuova versione si aggiunge data-parsley-validate ora anziché data-validate="parsley" dalla versione 1 di Parsley. Ora consente di farlo funzionare con le guide form_for.

Anche se non si sta usando il prezzemolo, questo è come inserire un attributo di dati in Rails 4.

<%= form_tag '/login', :"data-parsley-validate" => '' do %> 
    <!-- inputs --> 
<% end %> 

Quindi, in pratica la differenza non sta usando il html=>{} hash. Ho provato a vedere se quel trucco avrebbe funzionato e almeno per me la mia marcatura sembrava questa:

<form action="/login" method="post" html="{:data-parsley-validate}"> 
    <!-- inputs --> 
</form> 

Ma semplicemente mettendo attribuire i dati direttamente in là come un simbolo con una stringa vuota come valore corrispondente e ha funzionato perfettamente. Questo è il markup che ho ricevuto.

<form action="/login" method="post" data-parsley-validate> 
    <!-- inputs --> 
</form> 

In altre parole è perfetto. Ecco come usare Rails 4 per ottenere gli attributi dei dati nel tuo form_tag.

Problemi correlati