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::RegistrationsController
및 devise_for :users, path: 'users', controller: 'registrations'
경로에 추가했지만 그 중 하나가되지는 않습니다.
작동하지 마십시오. – Martin