2011-06-09 40 views
0

檢查我有四個單選按鈕如下: -設置的單選按鈕從=控制器

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

這不是你的問題的答案,而是因爲你還沒有任何其他答案,我將把它扔在那裏。

首先,大多數人不會做你在做什麼。其次,要正確地做你想要的東西是沒有意義的。 IE瀏覽器。根據@choices[1].id的值設置單選按鈕。也許你的意思是像「@choice.id」的價值?

無論如何,回到「第一」 - 大多數人會怎麼做?

大多數人會使用幫助器radio_button,而不是幫助器radio_button_tag。那麼,如何做到這一點?那麼你需要從你的控制器得到一個單一的對象,你將調用一個方法來獲取/設置你的無線電組中的一個值。通常這是一個模型對象,它與其他模型有關聯。就像你可能有:

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 S和它將自動標記一個作爲託運如果@customer.contact_method有相匹配的一個值,將創造儘可能多的單選按鈕ContactMethod小號

+0

更新使用'* _i這些方法的版本。 – smathy 2011-06-09 20:36:35