我有一个创建公司并在此过程中成为员工的用户。employees 表有一个:user_id
和一个:company_id
。
class User
has_many :employees
has_many :companies, :through => :employees
class Employee
belongs_to :user
belongs_to :company
attr_accessible :active
class Company
has_many :employees
has_many :users, :through => employees
很基本。但事情是这样的,资源 EMPLOYEE 除了外键之外还有其他属性,比如 boolean :active
。我想使用attr_accessible
,但这会导致一些问题。该属性:user_id
设置正确,但:company_id
为零。
@user.companies << Company.new(...)
Employee id:1 user_id:1 company_id:nil
所以我的问题是:如果:user_id
设置正确,尽管它不是attr_accessible
,为什么:company_id
不设置正确呢?它不应该是一个attr_accessible
.
我正在使用 Rails 3.0.8,并且还使用 3.0.7 进行了测试。