rails 4中的options_from_collection_for_select

时间:2014-08-25 20:14:44

标签: ruby-on-rails ruby forms ruby-on-rails-4

我正在构建一个简单的表单,让我的rails 4站点的用户互相发送消息。

在表单中,用户可以选择邮件的收件人,其中包含系统中所有用户的选择列表(它是一个小用户群)。

现在表单控件看起来像这样,并且工作正常:

<%= f.select(:to_id, options_from_collection_for_select(User.all, :id, :first_name), {}, {:class => 'form-control'}) %>

但是,有一个&#34;昵称&#34; Users表格中的字段 - 我希望表单显示昵称(如果存在)以及用户的名字/姓氏 - 所以选择将是:

<option>Snoop Dogg - Calvin Broadus</option>

而不仅仅是

<option>Calvin</option>

这可能吗?

1 个答案:

答案 0 :(得分:1)

display_name型号

上设置Users
def display_name
  nickname || first_name
end

然后更新您的表单以引用它

<%= f.select(:to_id, options_from_collection_for_select(User.all, :id, :display_name), {}, {:class => 'form-control'}) %>