2011-02-07 14 views
12

Używam Rails 2.3.8. Mój kod:Skojarzenie etykiety i przycisku opcji w Railsach

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

wyjściowa:

<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> 

Oczywiście label nie jest skojarzenie z moich przycisków radiowych poprawnie. Chcę ustawić label tak samo jak przycisk radiowy id. Jak mogę to poprawić?

Dzięki.

Odpowiedz

35

Spróbuj

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

Jestem nowy w RoR i znajdę formtastic sposób łatwiej obsługiwać widoki formularza. Możesz spróbować: https://github.com/justinfrench/formtastic – LapinLove404

+1

Dzięki! Działa genialnie! – Victor

+0

To jest dokładnie to, czego potrzebowałem, dziękuję! W moim przypadku wartości były "prawda" i "fałsz" i działało dobrze. Dodałem również etykietę główną u góry dla tekstu pytania '<% = f.label: status," Status: "%>'. – Matt

0

ten pracował dla mnie, gdzie byłem zapętlenie poprzez plany:

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