我有以下两个用户和用户组的简单模型:
class User < ActiveRecord::Base
belongs_to :user_group
end
和
class UserGroup < ActiveRecord::Base
has_many :users
end
我使用以下formtastic代码绘制UserGroup模型的表单:
<% semantic_form_for [:system, @user_group] do |form| %>
<% form.inputs do %>
<%= form.input :name %>
<%= form.input :description %>
<%= form.input :users, :as => :check_boxes %>
<% end %>
<% form.buttons do %>
<%= form.commit_button "Save Group" %>
<% end %>
<% end %>
表单显示良好,并列出系统中的所有用户,并选中当前属于UserGroup的用户的复选框。目前,显示的列表中用户的唯一属性是“用户名”。
如何确定使用“用户名”方法为每个用户获取标签?
如何更改它以显示“first_name”和“last_name”属性?
由于
答案 0 :(得分:3)
看起来这是通过formtastic的:label_method完成的。 Found in this answer
<%= form.input :users, :label_method => :username, :as => :check_boxes %>
或
<%= form.input :users, :label_method => Proc.new { |x| "#{x.first_name} #{x.last_name}" }, :as => :check_boxes %>