Sorum benzer bu bir ama Raylar uygulama için.
Bazı radyo düğmeleri olan bir form var ve etiketleri onlarla ilişkilendirmek istiyorum. label
Form yardımcı yalnızca bir parametre olarak bir form alanını alır, ama bu durumda tek bir form alanı için birden fazla radyo düğmeleri var. Bunu yapmanın tek yolu el ile bir etiket oluşturmak, radyo düğmesi için otomatik olarak oluşturulan kimliği sabit kodlamaktır. Bunu yapmanın daha iyi bir yolunu bilen var mı?
Örneğin:
<% form_for(@message) do |f| %>
<%= label :contactmethod %>
<%= f.radio_button :contactmethod, 'email', :checked => true %> Email
<%= f.radio_button :contactmethod, 'sms' %> SMS
<% end %>
Bu şöyle bir şey üretir:
<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
İstediğim:
<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
seçeneği geçmekf.label
. örn<%= f.label :contactmethod, 'SMS', :value => 'sms' %>
. Bu, etiket etiketinin "for" özelliğini doğru şekilde ayarlar, bu da etikete tıklamanın uygun radyo düğmesini seçmesini sağlar. Yukarıdaki cevapta, sadecelabel
yardımcısı kullanmak "for" özniteliğinin FormBuilder