1

私は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 

上記のマッピングが正しいかどうかを確認してください。フィードバックをお寄せください。

上記以上のデザインがあれば大変ありがたいです。

4

1 に答える 1

0

組織のすべてのユーザーがアプリで作業しておらず、特定のユーザーのみである場合、ApplicationDeveloper テーブルを保持しますが、変更します

belongs_to :membership

belongs_to :user

于 2012-07-16T16:35:43.447 に答える