2012-09-11 3 views
1

선언 권한을 사용하여 응용 프로그램의 사용자 권한을 관리하고 있습니다.
소유자가 관리 할 수있는 게시 모델이 있습니다.선언적 승인 : 일부 필드 만 업데이트 허용

has_permission_on :post, :to => :manage do 
    if_attribute :creator_id => is{user.id} 
end 

그러나 나는 또한 나의 모델은 다음과 같습니다

class Post < ActiveRecord::Base 
    def publish! 
    update_attributes(:published, true) 
    end 
end 

내가 게시물의 제작자없는 몇 가지 사용자가 게시 할 수 있도록합니다.
개체를 업데이트 할 수는 없지만 게시 상태 이외의 다른 필드는 변경할 수 없습니다.

모델의 일부 필드 만 편집 할 수있는 방법은없는 것처럼 보입니다.

답변

0

모델 인증 및 컨트롤러를 사용하여 문제를 해결했습니다.
모든 제작자와 관리자가 게시물을 수정할 수 있도록 허용합니다.
그런 다음 컨트롤러에서 게시 작성자 만 업데이트 작업에 액세스 할 수 있도록 지정하고 관리자 만 게시 작업에 액세스 할 수 있도록 지정합니다.