Моє запитання подібне до цього, але для програми Rails.
У мене є форма з деякими перемикачами, і я хотів би пов’язати з ними мітки. label
Форма помічник приймає тільки поле форми в якості параметра, але в цьому випадку у мене є кілька перемикачів для одного поля форми. Єдиний спосіб, який я бачу зробити це - це створити вручну мітку, жорстке кодування ідентифікатора, який автоматично генерується для перемикача. Хтось знає про кращий спосіб це зробити?
Наприклад:
<% form_for(@message) do |f| %>
<%= label :contactmethod %>
<%= f.radio_button :contactmethod, 'email', :checked => true %> Email
<%= f.radio_button :contactmethod, 'sms' %> SMS
<% end %>
Це породжує щось на кшталт:
<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
Що я хочу:
<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
параметраf.label
"В" зробить те саме. напр<%= f.label :contactmethod, 'SMS', :value => 'sms' %>
. Це встановлює атрибут "для" тегу мітки правильно, завдяки чому натискання мітки вибирає відповідний перемикач. У відповіді вище, просто використанняlabel
помічника призведе до того, що атрибут "за" буде неправильним, коли перемикач створений за допомогою FormBuilder