在我的RoR应用程序中,我显示了一个复选框,供用户选择他们的联系人。这是通过以下代码行完成的:
<%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]), :id, :firstname, { prompt: "firstname" } %>
这只显示联系人的名字,是否可以同时显示名字和姓氏?
我已经尝试了以下方法,但它们没有奏效。
<%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]), :id, { :firstname & " " & :surname }, { prompt: "firstname" } %>
<%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]), :id, { :firstname :surname }, { prompt: "firstname" } %>
<%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]), :id, :firstname :surname, { prompt: "firstname" } %>
这可能吗?
<%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]),:id, :full_name ,{ prompt: "firstname" } %>
在 model.rb 中,添加
def full_name
"#{firstname} #{surname}"
end
希望这会起作用
您可以在user
模型中添加实例方法:
class User < ActiveRecord::Base
def fullname
firstname + surname
end
end
并在此处使用:
<%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]), :id, :fullname, { prompt: "firstname" } %>
您可以在Contact
模型中有一个方法,如下所示:
def full_name
firstname + " " + surname
end