我正在构建一个简单的表单,让我的 Rails 4 站点的用户可以互相发送消息。
在表单中,用户可以使用系统中所有用户的选择列表来选择消息的收件人(这是一个小用户群)。
现在表单控件看起来像这样,并且工作正常:
<%= f.select(:to_id, options_from_collection_for_select(User.all, :id, :first_name), {}, {:class => 'form-control'}) %>
但是,Users
表中也有一个“昵称”字段——我想让表单显示昵称(如果存在)以及用户的名字/姓氏name-- 所以选择的值将是:
<option>Snoop Dogg - Calvin Broadus</option>
不仅仅是
<option>Calvin</option>
这可能吗?
最佳答案
在 Users
模型上创建一个 display_name
def display_name
nickname || first_name
end
然后更新您的表单以引用它
<%= f.select(:to_id, options_from_collection_for_select(User.all, :id, :display_name), {}, {:class => 'form-control'}) %>
关于ruby-on-rails - rails 4 中的 options_from_collection_for_select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25493664/