【问题标题】:Cancan 2.0, how to restrict user to update certain attributes on User modelCancan 2.0,如何限制用户更新用户模型上的某些属性
【发布时间】:2012-08-30 01:51:40
【问题描述】:

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',但这似乎也没有成功。

【问题讨论】:

    标签: ruby-on-rails ruby devise cancan


    【解决方案1】:

    我认为应该是 User 而不是 :users?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-05
      • 1970-01-01
      • 2011-07-15
      • 2021-09-04
      • 2011-08-05
      相关资源
      最近更新 更多