0

已经回答了一个类似的问题,但似乎有点过时,因为它不包括新的 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'路线上,但这似乎也没有成功。

4

1 回答 1

-1

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

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

于 2012-09-05T15:09:58.897 回答