2012-09-05 32 views
0

已經有similar question已經回答,但由於它不包含新的CanCan 2.0版本,因此似乎已經過時了一些。我需要防止用戶更新某些字段(本例中爲:active:limited),並且只能由管理員編輯。Cancan 2.0,如何限制用戶更新用戶模型中的某些屬性

# 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',但這似乎並沒有成功。

回答

-1

我認爲應該是用戶不是:用戶?

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

+0

不要工作。 – Martin

相關問題