我陷入了一个犹豫不决的圈子里,需要一拳才能挣脱。我是Rails的菜鸟,我尝试使用Rails约定翻译预先存在的数据库。基本上,我目前有5个模型/表:工作单,里程日志,时间日志,零件和&设备。工作单可以有许多Mileage_logs,Time_logs和Parts,因为它们中的每一个都显示在Workorder的索引页面上。但是,这看起来很容易......
我引入设备型号时感到困惑,因为它看起来与工作订单基本相同。
处理此关系设置的最佳方法是什么?这适用于has_many :through
惯例吗?或者,最好只在前程万里(Mileage_log),时间日志(Time_log)和零件模型中使用workorder_id
和equipment_id
,然后:
class Part < ActiveRecord::Base
belongs_to :workorder
belongs_to :equipment
end
class Mileage_log < ActiveRecord::Base
belongs_to :workorder
belongs_to :equipment
end
class Time_log < ActiveRecord::Base
belongs_to :workorder
belongs_to :equipment
end
class Workorder < ActiveRecord::Base
has_many :Time_logs
has_many :Parts
has_many :Mileage_logs
end
class Equipment < ActiveRecord::Base
has_many :Time_logs
has_many :Parts
has_many :Mileage_logs
end
或者,has_many through:
关系是我应该关注的工作订单和&amp;设备型号?
class Workorder < ActiveRecord::Base
has_many :parts
has_many :mileage_logs
has_many :time_logs
end
class Equipment < ActiveRecord::Base
has_many :parts, through: :workorder
has_many :mileage_logs, through: :workorder
has_many :time_logs, through: :workorder
has_many :workorders
end
非常感谢任何帮助!
此外,关于路线设置的任何一般建议也会受到欢迎。