私はRailsが初めてで、ドメインエンティティが次のように関連するアプリケーションを設計しています:
- ユーザーは多くの組織に属しています
- 組織には多くのユーザーがいます
- 組織には多くのアプリケーションがあります
- アプリケーションは組織によって開発されます
- アプリケーションは、同じ組織の多くのユーザー (開発者) によって開発されます
- ユーザーは多くのアプリケーションの開発者です
上記の関係のマッピングは次のとおりです
class Organization < ActiveRecord::Base
has_many :memberships
has_many :users, through: :memberships
end
class User < ActiveRecord::Base
has_many :memberships
has_many :organizations, through: :memberships
has_many :application_developers
has_many :applications, through: application_developers
end
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :organization
end
class Application < ActiveRecord::Base
belongs_to :organization
has_many :application_developers
has_many :memberships, through: application_developers
end
class ApplicationDeveloper < ActiveRecord::Base
belongs_to :membership
belongs_to :application
end
上記のマッピングが正しいかどうかを確認してください。フィードバックをお寄せください。
上記以上のデザインがあれば大変ありがたいです。