在我的用户模型中,我有一个first_name和一个last_name,我想知道以选择形式将它们两者结合起来的最佳方法是什么。从本质上讲,我希望能够在一种表单中包含以下代码
<%= f.collection_select :user, @users, :id, :fullname, include_blank: 'none' %>
有没有一种方法,而无需在我的迁移中创建全名字段并且在创建/更新模型时必须分配全名字段?

我还应该提到这是Rails 4项目。任何帮助,将不胜感激,谢谢。

最佳答案

您可以在用户模型上创建方法full_name。它将返回用户的first_name + last_name:

# user model
def full_name
  "#{first_name} #{last_name}"
end

# with a collection_select, in your case:
<%= f.collection_select :user, @users, :id, :full_name, include_blank: 'none' %>

08-26 15:32