0

次のような選択タグがあります。

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

これは、各@possible_contacts電子メール アドレスを一覧表示します。各連絡先にも名前があります。私がやりたいのは、それぞれ@possible_contactsを次のように名前とメールアドレスとして表示することです:

Joe Smith <joe@gmail.com>

これには電子メールと名前の両方が必要です...しかし、両方を選択に入れる方法がわかりません

4

1 に答える 1

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 &lt;joe@example.com&gt;</option>
  <option value="987">David H Hansson &lt;dhh@example.com&gt;</option>
</select>
于 2013-05-01T04:12:26.627 に答える