Подтвердить что ты не робот

Связывание метки и переключателя в Rails

Я использую Rails 2.3.8. Мой код:

<%= f.radio_button :status, "draft" %>
<%= f.label :status, "Draft" %>
<%= f.radio_button :status, "published" %>
<%= f.label :status, "Published" %>

Вывод:

<input id="shop_status_draft" name="shop[status]" type="radio" value="draft" />
<label for="shop_status">Draft</label>
<input checked="checked" id="shop_status_published" name="shop[status]" type="radio" value="published" />
<label for="shop_status">Published</label>

Очевидно, что label не корректно связывается с моими переключателями. Я хочу сделать label таким же, как переключатель id. Как я могу исправить это?

Спасибо.

4b9b3361

Ответ 1

Попробуйте это

<%= f.radio_button :status, "draft" %>
<%= f.label :status, "Draft", :value => "draft" %>
<%= f.radio_button :status, "published" %>
<%= f.label :status, "Published", :value => "published" %>

Ответ 2

Это сработало для меня, когда я перебирал планы:

<% @plans.each do |plan| %>
    <%= radio_button_tag :plan_id, plan.id %> 
    <%= label_tag 'plan_id_' + plan.id.to_s, plan.name %>
<% end %>