问题描述
我有一个没有相应型号的控制器。在路由方面,它是为Organization
模型的成员嵌套的。在上述控制器中,@organization
是通过url中的ID设置的。
我想要做的是使用cancancan根据该@organization
实例授权来自该控制器的操作,但我没有这样做。
我想在ability.rb
中说些类似的话
can [:new,:create],InvitationsController do |organization|
organization.users.include? user
end
我知道我可以将class: Organization
设置为load_resource
回调,但这导致cancancan对其进行评估,就好像属于Organization类一样。但这会干扰对AuthorizationController的new
操作的授权。我无法在此控制器中更改方法名称,因为它是从gem继承的。因此,我必须找出一种方法,以便能够基于自定义设置的实例在ability.rb
中授权此控制器。
我希望有人会用cancancan做到这一点,对我来说这似乎不是一个太具体的用例。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)