我正在创造一种像这样的三角形结构:
class Company < ActiveRecord::Base
has_many :departments
has_many :employees
end
class Department < ActiveRecord::Base
belongs_to :company
has_many :employees
end
class Employee < ActiveRecord::Base
belongs_to :company
belongs_to :department # optional, employee can belong only to a company
end
现在,在创建员工时,最好的方法是确保只分配与我正在创建的员工属于同一公司的部门吗?
company_id
从嵌套资源路由自动分配,department_id
来自params。我想我可以创建一个自定义方法来验证这一点,但我想知道是否有某种开箱即用的方式(例如,仅使用关联)来执行此操作。
例如,我想避免这样的事情:
CompA ---- DepA
\
\_ !EmpA! _
\
CompB ---- DepB ---- EmpC
\___________________/
\
\_______ EmpD