当can:create被调用时,CanCan可以拒绝授权

时间:2012-02-26 05:14:32

标签: ruby-on-rails-3 cancan

当我使用以下命令调用can方法时,我的CanCan实现拒绝访问:create specified。这是我的能力实施:

class Ability
  include CanCan::Ability

  def initialize(user)
    user ||= User.new # User is not logged in (Guest)
    if user.id == nil # Guest user
      can [:create, :update], Device
    else
      if user.admin?
        can :manage, :all
       else
        can :manage, Spot, :user_id => user.id
      end
     end
   end
end

基本上我希望未经过身份验证的用户能够向我的Devices控制器的创建和更新操作提交POST和PUT请求。但是,当我尝试提交POST请求时,CanCan拒绝了请求(我被要求登录)。

在我的设备控制器的顶部,我只需调用load_and_authorize_resouce。

有没有人知道为什么CanCan会在这上面提出一个AccessDenied异常?

0 个答案:

没有答案