【发布时间】:2023-08-01 05:52:01
【问题描述】:
我使用cancan 进行授权,我想根据多对多关系做一些限制。
实体
User - has_many project_assignments
User - has_many projects, through: :project_assignments
User - has_many roles, through: :project_assignments
ProjectAssignment:user_id、project_id、role_id
我想让用户能够在Project and Toy 模型上执行完整的CRUD,前提是该项目是由用户创建的。 Toy 嵌套在 Project 下
Toy has many Projects 和 Project has many Toy 到 ProjectToy
if user.role? :moderator
can :crud, [Project, Toy]
end
我想我只需要限制project,因为toy 取决于project_id,我可以这样做吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 cancan