无法设置嵌套关联

时间:2015-01-21 00:13:19

标签: ruby-on-rails postgresql associations polymorphic-associations model-associations

我正在制作一个文件管理应用程序,允许供应商从医生那里收集文件,而且我真的在与这些协会挣扎。我希望有人可以查看我的关联结构,因为我收到错误并且不确定我是否在正确的轨道上。

基本上,患者可以有几种不同的文件 - 例如一张用于医院病床,一张用于氧气。供应商只有一名患者,他有几份文件。我已经建立了单独的脚手架,这样我就可以将每个患者的所有文件汇总到一页。

                                :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

1 个答案:

答案 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

我认为这些是您正在寻找的关联,基于上面的代码段。检查一下,如果有帮助请告诉我。