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 回答