Ruby on rails 3 调用can:create时CanCan拒绝授权

Ruby on rails 3 调用can:create时CanCan拒绝授权,ruby-on-rails-3,cancan,Ruby On Rails 3,Cancan,当我使用:create-specified调用can方法时,我的CanCan实现拒绝访问。以下是我的能力实现: 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

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

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
基本上,我希望未经身份验证的用户能够向我的设备控制器的创建和更新操作提交POST和PUT请求。然而,当我试图提交POST请求时,请求被CanCan拒绝(我被要求登录)

在我的设备控制器的顶部,我简单地调用load_和authorize_resource


有人知道为什么CanCan会在这个问题上引发AccessDenied异常吗?

检查相关控制器中的某个地方
是否可以:创建时,设备
正在为来宾用户返回true?因为我的授权被触发,因为我刚才添加了一行剩余的内容,但忘记了。现在开始工作了,对不起,伙计们。