我有一个模型组和一个模型人。一个人属于一个组,一个组有_很多人。它们是嵌套资源。根据此页面,在 PeopleController 中使用以下内容进行授权就足够了:
load_and_authorize_resource :group
load_and_authorize_resource :person, :through => :group
我没有特别添加直接管理人员的能力,但这暗示这不是必需的,因为它是通过集团授权的。授权在 Group 模型上正常工作,但在 Person 上失败。
我可以通过添加这个能力来解决这个问题:
can :manage, Person, :group => { :user_id => user.id }
但是,文档再次指出,尽管这样做是一个“好主意”(为什么?),但授权并不需要工作。
我很感激你能提供的任何帮助!