我有一个像这样的选择标签:
= select_tag :cc, options_from_collection_for_select(@possible_contacts, "id", "email")
这会列出每个@possible_contacts
个电子邮件地址。每个联系人也有一个名字。我想要做的是将每个@possible_contacts
显示为名称和电子邮件地址,如下所示:
Joe Smith <joe@gmail.com>
这需要电子邮件和姓名......但我不确定如何将它们都放在选择
中答案 0 :(得分:1)
您可以使用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 <joe@example.com>', 123], ['David H Hansson <dhh@example.com>', 987]])
变成:
<select id="cc" name="cc">
<option value="123">Joe Smith <joe@example.com></option>
<option value="987">David H Hansson <dhh@example.com></option>
</select>