La mia domanda è simile a questa ma per un'app Rails.
Ho un modulo con alcuni pulsanti di opzione e vorrei associare loro delle etichette. L' label
helper modulo accetta solo un campo modulo come parametro, ma in questo caso ho più pulsanti di opzione per un singolo campo modulo. L'unico modo in cui vedo di farlo è creare manualmente un'etichetta, codificando l'ID generato automaticamente per il pulsante di opzione. Qualcuno sa un modo migliore per farlo?
Per esempio:
<% form_for(@message) do |f| %>
<%= label :contactmethod %>
<%= f.radio_button :contactmethod, 'email', :checked => true %> Email
<%= f.radio_button :contactmethod, 'sms' %> SMS
<% end %>
Questo genera qualcosa di simile:
<label for="message_contactmethod">Contactmethod</label>
<input checked="checked" id="message_contactmethod_email" name="message[contactmethod]" value="email" type="radio"> Email
<input id="message_contactmethod_sms" name="message[contactmethod]" value="sms" type="radio"> SMS
Quello che voglio:
<input checked="checked" id="message_contactmethod_email" name="message[contactmethod]" value="email" type="radio"><label for="message_contactmethod_email">Email</label>
<input id="message_contactmethod_sms" name="message[contactmethod]" value="sms" type="radio"> <label for="message_contactmethod_sms">SMS</label>
:value
un'opzione perf.label
fare la stessa cosa. es<%= f.label :contactmethod, 'SMS', :value => 'sms' %>
. Questo imposta correttamente l'attributo "for" del tag label, che fa clic sul pulsante di selezione dell'etichetta selezionando il pulsante di opzione appropriato. Nella risposta sopra, semplicemente usando l'label
helper si verificherà che l'attributo "for" non è corretto quando si crea il pulsante di opzione con FormBuilder