Mi pregunta es similar a esta, pero para una aplicación Rails.
Tengo un formulario con algunos botones de opción y me gustaría asociar etiquetas con ellos. El labelasistente de formulario solo toma un campo de formulario como parámetro, pero en este caso tengo varios botones de opción para un solo campo de formulario. La única forma en que veo hacerlo es crear manualmente una etiqueta, codificando la identificación que se genera automáticamente para el botón de opción. ¿Alguien sabe de una mejor manera de hacerlo?
Por ejemplo:
<% form_for(@message) do |f| %>
<%= label :contactmethod %>
<%= f.radio_button :contactmethod, 'email', :checked => true %> Email
<%= f.radio_button :contactmethod, 'sms' %> SMS
<% end %>
Esto genera algo como:
<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
Lo que quiero:
<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>
:valueopción af.labelhará lo mismo. por ej<%= f.label :contactmethod, 'SMS', :value => 'sms' %>. Esto establece el atributo "for" de la etiqueta de etiqueta correctamente, lo que hace que al hacer clic en la etiqueta se seleccione el botón de opción apropiado. En la respuesta anterior, simplemente usar ellabelayudante hará que el atributo "for" sea incorrecto cuando se cree el botón de opción con FormBuilder