如何让自定义字符串显示在 form.collection_select 的下拉列表中

how to let custom string shown in the drop down in form.collection_select

我正在研究 ruby 和 rails。 我的用户模型存储有名字和姓氏。现在,我想从一组使用中搜索,并且搜索是使用 form_for 的形式。我希望下拉字符串显示用户的全名,并按用户 全名 排序。怎么办? 目前我只知道按姓氏排序,显示姓氏。

<%= form_for @user do |f| %>
        <%= f.label 'First Choice'%>
        <%= f.collection_select :first, User.order(:lastname), :lastname, :lastname, include_blank: true %>
<%end%>

为用户模型写一个full_name实例方法以通过对象访问它。

class User < ActiveRecord::Base    
  def full_name
    first_name.to_s + last_name.to_s
  end
end

然后你可以像下面那样使用集合select -

<%= f.collection_select :first, User.order(first_name: :asc, last_name: :asc), :id, :full_name, , include_blank: true %>