我有一个包含工作人员的rails应用程序。我将从另一个系统加载工作人员。该系统为父母和子工作人员使用单个表格。
我在workorders表中添加了一个名为parent_id
的字段这是Workorder模型中的正确编码吗?
class ParentWorkorder
belongs_to :parent, class_name => "Workorder"
belongs_to :child, class_name => "Workorder", :foreign_key => "parent_id"
end
或者你会建议不要这样做 - 而是创建一个子工作订单表?我认为这可能会使与其他系统集成更加困难。
非常感谢任何指导!
答案 0 :(得分:3)
您也可以在一个包含Rails的表中执行此操作,对于单个模型也是如此。我不明白为什么你需要像你一样使用额外的ParentWorkorder
模型来复杂你的应用程序。我会改为做以下事情:
class Workorder < ActiveRecord::Base
belongs_to :parent, :class_name => "Workorder", :foreign_key => "parent_id"
has_many :children, :class_name => "Workorder", :foreign_key => "parent_id"
end
我很确定这会为您提供所需的功能。
答案 1 :(得分:2)
我会将孩子视为has_one或has_many(如果父母可以有多个)。但是,这很有效。
您可能希望养成在可能的情况下使用符号而不是字符串的习惯。