我对Ruby on Rails很陌生,我只完成了Michael Hart railstutorial.org,现在我的教程是我新项目的基础,我正在从事简单的电子处方服务。 我感到非常困惑的是RoR中的多对多关系,避免它们会很好,但我不确定这是否可能具有我需要的功能。
这是我的基本EER与关系表,将处方与应包括的药物联系起来。
我非常感谢有关如何简化这一点的任何想法,或者它实际上并不难实现?
答案 0 :(得分:1)
不要避免many-to-many
关联,只关于使用连接模型
您可以使用has_many :through
你只需要这样做:
#app/models/prescription.rb
Class Prescription < ActiveRecord::Base
has_many :relations
has_many :medicines, through: :relations
end
#app/models/relation.rb
Class Relation < ActiveRecord::Base
belongs_to :prescription
belongs_to :medicine
end
#app/models/medicine.rb
Class Medicine < ActiveRecord::Base
has_many :relations
has_many :prescriptions, through: :relations
end