0

我正在嘗試在Rails中編寫一個幫助函數,將值數組轉換爲radio_buttons的數組。在我的表單我有這樣的:如何在Ruby on Rails中將數組轉換爲content_tags?

<%= radio_tags_for_select(f.object.invoice_types) %> 

這是我的助手功能:

def radio_tags_for_select(array) 
    options = [] 
    array.each do |value| 
    options << content_tag(:span, value, :class => 'radio_option') 
    end 
    options 
end 

不幸的是,該功能吐出來的只有原始的HTML,我真的不能使用。有沒有更好的解決方案,甚至可以使用radio_tag幫手?

感謝您的任何幫助。

+0

您使用RoR 3,3.1還是3.2?請相應地限制您的標籤。 – PinnyM 2013-03-04 22:36:21

回答

0

你可以做,在一個單一的代碼行:

f.object.invoice_types.collect {|e| radio_button_tag("my_radio_button_name", e) } 

現在,是你想要的嗎?一組單選按鈕?

+0

好的,謝謝,但是這會產生一些原始的HTML。我對Rails仍然陌生,所以我怎麼能逃脫它呢? – Tintin81 2013-03-04 22:46:00

+0

你可以使用助手h來逃避它: <%= h f.object.invoice_types.collect {| e | radio_button_tag(「my_radio_button_name」,e)}%> – rorra 2013-03-04 22:49:39

+0

現在,如果問題是幫手已經逃離了html,並且你想讓html不能被轉義,你可以這樣做: (f.object.invoice_types .collect {| e | radio_button_tag(「my_radio_button_name」,e)})。html_safe 告訴rails可以將該字符串呈現爲html,雖然radio_button_tag已經將該字符串標記爲html safe – rorra 2013-03-04 22:51:25

相關問題