Ruby on Rails:是否可以用collection_check_boxes显示两个变量



在我的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

最新更新