複雑な関連付けを持つRails 4アプリに取り組んでおり、あるモデルを親に結合する方法がわかりません。
基本的に私のアプリのロジックは次のとおりです
User
- belongs_to :account, polymorphic: true
Developer
- has_one :user, as: :account
- has_and_belongs_to_many :organizations
Organization
- has_one :user, as: :account
- has_and_belongs_to_many :developers
- STI を介してこのルートに進むことにしました。これにより、アプリの移行ファイルをよりクリーンで整理することができたからです。
したがって、 a 自体が存在する可能性があり、多くを保持するDeveloper
and も存在する可能性があるため、この関係を作成するためにandを追加しました。したがって、検索するか、関連するレコードを取得すると、アプリですべてが機能します。Organization
Developers
has_and_belongs_to_many :organizations
has_and_belongs_to_many :developers
User.find().account.developers
User.find().account.organizations
今、私は私が問題を抱えている部分に到達します. 私のRailsアプリ内には、というモデルがありApp
ます。はそれ自体でDeveloper
多くを作成することも、その中に多くを作成して作成することもでき、その中に所属するすべての人がアクセスすることもできます。このような関係を実装する方法がわかりません。助言がありますか?Apps
Developer
Organization
Apps
Organization
Developers
Organization
Developer
has_one :user, as: :account
has_many :apps, as: :appable
has_and_belongs_to_many :founding_organizations, class_name: 'Organization', foreign_key: :founder_id
has_and_belongs_to_many :collaborating_organizations, class_name: 'Organization', foreign_key: :collaborator_id
has_and_belongs_to_many :organizations (Should this stay?)
Organization
has_one :user, as: :account
has_many :apps, as: :appable
has_and_belongs_to_many :founders, class_name: 'Developer', association_foreign_key: :founder_id
has_and_belongs_to_many :collaborators, class_name: 'Developer', association_foreign_key: :collaborator_id
has_and_belongs_to_many :developers (Should this stay?)
App
belongs_to :appable, polymorphic: true