Ruby on rails 有没有办法在rails/activerecord中建立三向habtm关联?
habtm关联通常需要三种(或更多)方式的关联。例如,具有角色的权限模型 一个特定的功能领域有许多用户可以访问许多领域 通过角色(habtm)设置该区域的权限 用户/角色关联也是habtm 权限(读、写、删除等)是针对角色的Ruby on rails 有没有办法在rails/activerecord中建立三向habtm关联?,ruby-on-rails,orm,activerecord,Ruby On Rails,Orm,Activerecord,habtm关联通常需要三种(或更多)方式的关联。例如,具有角色的权限模型 一个特定的功能领域有许多用户可以访问许多领域 通过角色(habtm)设置该区域的权限 用户/角色关联也是habtm 权限(读、写、删除等)是针对角色的 使用rails/activerecord如何才能最好地做到这一点?(基于角色的身份验证控制)提供了一系列有用的示例,这些示例提供了这个问题的答案,还提供了示例的示例实现。(基于角色的身份验证控制)提供了一系列有用的示例来回答这个问题,还提供了示例的示例实现。我不确定您是否只
使用rails/activerecord如何才能最好地做到这一点?(基于角色的身份验证控制)提供了一系列有用的示例,这些示例提供了这个问题的答案,还提供了示例的示例实现。(基于角色的身份验证控制)提供了一系列有用的示例来回答这个问题,还提供了示例的示例实现。我不确定您是否只是在使用基于角色的用户权限作为示例,或者这实际上是您的目标 嵌套的
habtm
关系在Rails中很容易实现,尽管我极力推荐嵌套的有很多:通过,只需按照您的想象设置它们:
class Permission < ActiveRecord::Base
end
#this table must have permission_id and role_id
class PermissionAssignment < ActiveRecord::Base
belongs_to :permission
belongs_to :role
end
class Role < ActiveRecord::Base
has_many :users, :through => :role_assignments
has_many :permissions, :through => :permission_assignments
end
#this table must have user_id and role_id
class RoleAssignment < ActiveRecord::Base
belongs_to :role
belongs_to :user
end
class User < ActiveRecord::Base
has_many :roles, :through => :role_assignments
end
类权限:角色\u分配
拥有\u多个:权限,:至=>:权限\u分配
结束
#此表必须具有用户id和角色id
类角色分配:角色\u分配
结束
我不确定您是否只是以基于角色的用户权限为例,或者这是否是您的目标
嵌套的habtm
关系在Rails中很容易实现,尽管我极力推荐嵌套的有很多:通过,只需按照您的想象设置它们:
class Permission < ActiveRecord::Base
end
#this table must have permission_id and role_id
class PermissionAssignment < ActiveRecord::Base
belongs_to :permission
belongs_to :role
end
class Role < ActiveRecord::Base
has_many :users, :through => :role_assignments
has_many :permissions, :through => :permission_assignments
end
#this table must have user_id and role_id
class RoleAssignment < ActiveRecord::Base
belongs_to :role
belongs_to :user
end
class User < ActiveRecord::Base
has_many :roles, :through => :role_assignments
end
类权限:角色\u分配
拥有\u多个:权限,:至=>:权限\u分配
结束
#此表必须具有用户id和角色id
类角色分配:角色\u分配
结束
我不太清楚你在问什么。可能值得添加一些示例代码,说明您希望如何访问数据。假设你所要求的是可能的,举例说明你如何使用它。我不确定你在这里要求什么。可能值得添加一些示例代码,说明您希望如何访问数据。假设你所要求的是可能的,举例说明你如何使用它。