我有四个单选按钮,如下所示: -
<%= radio_button_tag ch,@choices[0].id %><%= label_tag :cid, @choices[0].Option %>
<%= radio_button_tag ch,@choices[1].id %><%= label_tag :cid, @choices[1].Option %>
<%= radio_button_tag ch,@choices[2].id %><%= label_tag :cid, @choices[2].Option %>
<%= radio_button_tag ch,@choices[3].id %><%= label_tag :cid, @choices[3].Option %>
我想根据@choices [1] .id设置一个要检查的单选按钮。 我怎么能从控制器那里做到?
答案 0 :(得分:0)
这不是你问题的真正答案,但因为你没有得到任何其他答案我会把它扔出去。
首先,大多数人都不会做你正在做的事情。
其次,想要准确地做出你所要求的事情是没有意义的。 IE浏览器。根据{{1}}的值设置单选按钮。也许你的意思是“@choices[1].id
”的价值?
无论如何,回到“第一” - 大多数人会怎么做?
大多数人会使用@choice.id
帮助程序,而不是radio_button
帮助程序。那么,怎么做呢?那么你需要从你的控制器是一个单一的对象,你将调用一个方法来获取/设置你的无线电组中的一个值。通常这是一个与其他模型有radio_button_tag
关联的模型对象。就像你可能有:
belongs_to
您将允许他们选择他们想要使用的class Customer < ActiveRecord::Base
belongs_to :contact_method
end
,因此假设您的控制器中设置了ContactMethod
,您的单选按钮将如下所示:
@customer
这将创建尽可能多的单选按钮<% ContactMethod.all.each do |cm| %>
<%= radio_button :customer, :contact_method_id, cm.id %>
<%= label :customer, :contact_method_id, cm.name, :value => cm.id %>
<% end -%>
,如果ContactMethod
的值与@customer.contact_method
s