Cancan 2.0,如何限制用户更新用户模型上的某些属性

时间:2012-09-05 10:51:56

标签: ruby-on-rails ruby devise cancan

有一个similar question已经回答但似乎有点过时,因为它没有涵盖新的CanCan 2.0版本。我需要阻止某些字段(在这种情况下为:active:limited)由用户更新,并且只能由管理员进行编辑。

# ability.rb
if user.persisted?
  cannot :update, :users, [:active, :limited]

  elsif user.admin?
    can :access, :all
  end

但是,此代码不会阻止用户编辑这些字段。

我还将enable_authorization添加到路由中的新class RegistrationsController < Devise::RegistrationsControllerdevise_for :users, path: 'users', controller: 'registrations',但似乎也没有。{/ p>

1 个答案:

答案 0 :(得分:-1)

我认为应该是用户不是:用户?

# ability.rb ... cannot :update, User, [:active, :limited]

相关问题