新手到ActiveRecords协会,并不能完全掌握它。我正在构建的应用程序应该允许用户创建报告,并加入/创建包含成员生成的共享报告的组织。
这就是我想出来的,但在阅读完这个主题后,这似乎不太正确。
LinkedList
我如何建立这些协会?任何建议将不胜感激!
答案 0 :(得分:3)
class User < ActiveRecord::Base
has_many :reports, dependent: :destroy
belongs_to :organizations
end
class Report < ActiveRecord::Base
belongs_to :user
end
class Organization < ActiveRecord::Base
has_many :users
has_many :reports, through: :users
end
这里的关键是has_many :reports, through: :users
。执行Organization.find(1).reports
时,这会告诉Rails通过加入用户关系来获取报告。