2011-02-07 29 views
12

Tôi đang sử dụng Rails 2.3.8. Mã của tôi:Kết hợp nhãn và nút radio trong Rails

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

Output:

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

Rõ ràng là label không liên kết với nút radio của tôi một cách chính xác. Tôi muốn làm cho label giống như nút radio id. Làm thế nào tôi có thể sửa nó?

Cảm ơn.

Trả lời

35

Hãy thử điều này

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

Tôi mới vào RoR và tôi tìm cách formtastic dễ dàng hơn để xử lý các quan điểm hình thức. Bạn có thể muốn thử: https://github.com/justinfrench/formtastic – LapinLove404

+1

Cảm ơn! Hoạt động rực rỡ! – Victor

+0

Đây chính xác là những gì tôi cần, cảm ơn bạn! Trong trường hợp của tôi, các giá trị là 'true' và' false' và nó hoạt động tốt. Tôi cũng đã thêm một nhãn chính ở trên cùng cho văn bản câu hỏi '<% = f.label: status," Trạng thái: "%>'. – Matt

0

này đã làm việc cho tôi, nơi tôi đang Looping qua kế hoạch:

<% @plans.each do |plan| %> 
    <%= radio_button_tag :plan_id, plan.id %> 
    <%= label_tag 'plan_id_' + plan.id.to_s, plan.name %> 
<% end %> 
Các vấn đề liên quan