我正在制作一个文件管理应用程序,允许供应商从医生那里收集文件,而且我真的在与这些协会挣扎。我希望有人可以查看我的关联结构,因为我收到错误并且不确定我是否在正确的轨道上。
基本上,患者可以有几种不同的文件 - 例如一张用于医院病床,一张用于氧气。供应商只有一名患者,他有几份文件。我已经建立了单独的脚手架,这样我就可以将每个患者的所有文件汇总到一页。
:supplier
|
has_many :patients
|
:patients
|
has_many :documents
belongs_to :supplier
|
:documents
belongs_to :supplier, through: :patients
________________________|____________________
| |
:oxygen :hosptialbeds
belongs_to :patient, through: :documents belongs_to :patient,through: documents
我确定我没有在这里做出必要的关联,但我太新了,不知道更好......如果有更好的方法来达到这个目标,我会喜欢听它。
Rails 4.0 Postgresql DB
答案 0 :(得分:0)
基于此:Basically, a patient can have several different documents - say one for a hospital bed and one for oxygen in this case. A supplier would have a single patient, who has several documents.
在你的模特中......
patient.rb
Class Patient < ActiveRecord::Base
has_many :documents
belongs_to :supplier
end
supplier.rb
Class Supplier < ActiveRecord::Base
has_one :patient
has_many :documents, through: :patient
end
document.rb
Class Document < ActiveRecord::Base
belongs_to :patient
end
我认为这些是您正在寻找的关联,基于上面的代码段。检查一下,如果有帮助请告诉我。