我有四个型号。
Application, Permission, User and AppPermissions我的AppPermission看起来像这样:
AppPermission Application Permission User
1 1 1 1
2 1 2 2
3 1 3 3
4 1 4 4因此,一个应用程序可以拥有来自不同用户的不同权限。
Model: AppPermission:
belongs_to :application
belongs_to :permission
belongs_to :user应用程序、权限和用户如何处理?在哪里使用has_many或has_one?
发布于 2011-07-26 09:12:33
Application:
has_many :users
has_many :permissions对于用户,您需要更多信息,您是否有多个应用程序?如果是这样,那么:
User:
has_many :applications
has_many :appPermissions
Permission:
has_many :appPermissions
belongs_to :application发布于 2011-07-26 22:07:58
我没有看到将has_many :through与三向关联一起使用的用例。拥有用户的所有权限而不提及它们用于什么应用程序是什么意思?最有可能的情况是,您将需要如下查询:
user.app_permissions.find_all_by_application_id(application).map(&:permission)
或
user.app_permissions.find_by_application_id_and_permission_id(application, permission)
这些查询所需的全部内容如下:
User:
has_many :app_permissions
AppPermission:
belongs_to :permissionhttps://stackoverflow.com/questions/6824197
复制相似问题