如何让cancancan检查参数以查看用户是否可以更新?
控制器获得:
Parameters: {"offer"=>{"revoked"=>"1", "user_id"=>"14"}, "id"=>"53"}ability.rb:
can :update, Controller, :user_id => user.id
cannot :update, Controller, { :revoked => nil } 控制器代码:
@offer.update(params)这给了我一个Cancancan错误,说用户没有授权。我想我需要指定:revoked在这个提供哈希中,但是我无法找到正确的代码。
发布于 2016-09-11 11:22:35
如何更改能力类可以访问的内容:
https://github.com/ryanb/cancan/wiki/Accessing-Request-Data
或者如何更具体地为您的目的将params传递到能力类:
https://stackoverflow.com/a/9472881/4880924
CanCan -将params传递到异能# https://github.com/ryanb/cancan/issues/133 def current_ability @current_ability ||= Ability.new(current_user,params)结束
然后就是简单地访问params的相关部分并检查它是否通过。
https://stackoverflow.com/questions/33407733
复制相似问题