1

我有以下两个简单的用户和用户组模型:

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 %>

该表单很好地显示并列出了系统中的所有用户,并为当前属于用户组的用户选中了复选框。目前,它显示的列表中用户的唯一属性是“用户名”。

如何确定使用“用户名”方法获取每个用户的标签?

如何更改它以显示“first_name”和“last_name”属性?

谢谢

4

1 回答 1

3

看起来这是通过 formtastic 的 :label_method 完成的。在这个答案中找到

<%= 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 %>
于 2011-02-14T19:11:09.070 回答