2013-05-01 64 views
0

我有一個選擇標記,像這樣:options_from_collection_for_select如何使用兩個變量作爲顯示值

= select_tag :cc, options_from_collection_for_select(@possible_contacts, "id", "email") 

此列出每個@possible_contacts電子郵件地址。每個聯繫人也有一個名字。我想這樣做是顯示每個@possible_contacts的姓名和電子郵件地址,像這樣:

Joe Smith <[email protected]> 

這需要電子郵件和名字...但我不知道如何把他們兩個人的選擇

回答

0

你可以使用options_for_select代替,一樣的東西:

select_tag :cc, options_for_select(@possible_contacts.map{|contact| ["#{contact.name} <#{contact.email}>", contact.id]) 

例如,這是基本相同:

select_tag :cc, options_for_select([['Joe Smith <[email protected]>', 123], ['David H Hansson <[email protected]>', 987]]) 

它變成:

<select id="cc" name="cc"> 
    <option value="123">Joe Smith &lt;[email protected]&gt;</option> 
    <option value="987">David H Hansson &lt;[email protected]&gt;</option> 
</select> 
+0

你忘結束後}]? – 2013-11-26 13:21:40