我有擁有病人的用戶。但我想增加用戶分享病人的能力。此刻,我在SharedPatient表中創建了user_id,指示病人已與哪個用戶共享,patient_id指示病人。這有效,但我必須獲取User.patients,然後在SharedPatient表中查詢他們有權訪問的其他患者的ID,然後在患者表中查詢患者記錄。Rails數據庫架構:共享記錄
我真的只是想調用User.patients並檢索他們共享的患者和他們自己創建的患者。指示用戶是否是創建者的布爾值似乎是在它們之間進行排序的一種可靠方式,但我擔心這有點冒失。有沒有一種首選的方法來解決這個問題或我忽略的ActiveRecord關係?
編輯
class User < ActiveRecord::Base
has_many :patients
has_many :notes
has_many :shared_patients
end
class SharedPatient < ActiveRecord::Base
belongs_to :user
belongs_to :patient
end
class Patient < ActiveRecord::Base
belongs_to :user
has_many :recordings, dependent: :destroy
has_many :notes, dependent: :destroy
has_many :shared_patients, dependent: :destroy
end
請分享模型的細節。 –
你可以查看我的答案的底部如何獲得created_by thingy ... –