0

我正在开发一个文档管理应用程序,它允许供应商从医生那里收集文档,我真的在与这些关联进行斗争。我希望有人能够检查我的关联结构,因为我收到错误并且不确定我是否在正确的轨道上。设置嵌套关联的麻烦

基本上,病人可以有几个不同的文件 - 比如说一个用于病床,一个用于这种情况下的氧气。供应商将有一名患者,他有几份文件。我已经建立了独立的脚手架,以便我可以将所有文件汇总到每个患者的单页中。

       :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

在此基础上: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 

我觉得这些都是您正在寻找基于上面的代码段的关联。检查出来,让我知道这是否有帮助。

+0

嗯.. @jay是您的解决方案没有很好地工作。现在考虑删除患者脚手架,因为文档依赖于患者,而我真正需要的是文档本身。现在路线是'/ patients /:patient_id/documents /:id'这样的东西 - 所有文件凭借他们将会有一个病人,只是不确定是否值得让他们进入他们自己的班级的腿部工作? – PSCampbell 2015-01-21 01:00:30