Formtastic:如何选择在集合上运行哪种方法来确定使用模型关联时的标签?

时间:2011-02-11 23:15:38

标签: ruby-on-rails formtastic

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

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”属性?

由于

1 个答案:

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