【发布时间】:2011-02-20 08:16:46
【问题描述】:
无法弄清楚为什么这不起作用。第一次使用 :has_many => :through
不断收到uninitialized constant User::Employmentship
class User < ActiveRecord::Base
has_many :employmentships
has_many :companies, :through => :employmentships
accepts_nested_attributes_for :employmentships, :allow_destroy => true, :reject_if => proc { |obj| obj.blank? }
attr_accessible :email, :password, :password_confirmation, :firstname, :lastname, :username, :role, :company_ids
end
class Company < ActiveRecord::Base
has_many :employmentships
has_many :users, :through => :employmentships
end
/views/users/_form.html.erb
<p>
<%= for company in Company.all do %>
<%= check_box_tag "user[company_ids][]", company.id, @user.companies.include?(company) %>
<%= company.name%>
<% end %>
</p>
编辑 - 如果我将 @user.companies.include?(company) 更改为 false,我会收到表单,但没有任何更新。
编辑 2 -
class Employmentship < ActiveRecord::Base
belongs_to :company
belongs_to :user
attr_accessor :company_id, :user_id
end
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3