【发布时间】:2011-08-08 18:10:03
【问题描述】:
这是一个例子:
Class Store < ActiveRecord::Base
has_many :employees
end
现在当我像这样创建员工时:
employee = Employee.new(attributes)
然后是两个这样的商店:
store1 = Store.new(employees: [employee])
store2 = Store.new(employees: [employee])
它将员工的 store_id 更改为 store 2,摆脱与 store1 的关联。如何确保只能将一名员工分配到一家商店?
【问题讨论】:
-
你想在这里发生什么?如果您尝试将已分配到其他商店的员工分配到商店,您是否希望引发错误?
-
您是否曾经希望员工能够更换商店(例如,如果他们调动)?
-
没有。在我的情况下,如果员工要更换商店,则应该为该员工创建一个全新的记录,而旧记录只会将“当前员工”标志更改为 false。这样他们属于该商店的记录仍然存在(以及他们的终止日期)
标签: ruby-on-rails activerecord has-many