我的应用程序中有下一个模型结构:
class Company
has_many :employees
end
class Employee
belongs_to :company
end
是否有办法让员工拥有独特的ID(默认主键),具体取决于belongs_to
公司关联?
这些应返回不同的Employee模型:
/companies/1/employees/1
/companies/2/employees/1
谢谢!
答案 0 :(得分:1)
试试sequenced宝石,它完全符合您的要求。不过要考虑一个因素。
您的要求剥夺了Employee
id
唯一性字段,它需要成为主键。因此,您需要在Employee
中使用复合键,即[:company_id, :employee_id]
或使用Employee
的{{1}}字段作为主键但更像是一个slu ..
如果你想要探索复合键方法,有composite_primary_key gem,它旨在支持复合键之上的ActiveRecord关联。我自己还没试过。
根据其文档,您的关联可能看起来像这样:
acts_as_sequenced
但很可能这对你的目标来说是一种过度的方法。