ActiveRecords关联:用户,报告和组

时间:2016-01-25 00:21:58

标签: ruby-on-rails ruby-on-rails-4 activerecord model associations

新手到ActiveRecords协会,并不能完全掌握它。我正在构建的应用程序应该允许用户创建报告,并加入/创建包含成员生成的共享报告的组织。

这就是我想出来的,但在阅读完这个主题后,这似乎不太正确。

LinkedList

我如何建立这些协会?任何建议将不胜感激!

1 个答案:

答案 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通过加入用户关系来获取报告。