2012-11-09 6 views
0

사용자 롤을 관리하기 위해 Rolify 3.2.0을 사용하고 있습니다.범위가 지정된 롤을 지속하지 않음 롤

범위가 지정되지 않은 역할을 추가하면 모든 것이 작동합니다. '레일 콘솔'사용 :

u = User.first 
u.roles 
=> [] 
u.add_role :admin 
u = User.first 
u.roles.first.name 
=> "admin" 

우수함,하지만 같은 일을하지만, 역할이 자원 범위로 할 때, 그것은 지속되지 않습니다.

u = User.first 
u.roles 
=> [] 
u.add_role :admin, Agency.first 
u.roles.first.name 
=> "admin" 
u.roles.first.resource_type 
=> "Agency" 
u.save! 
u = User.first 
u.roles 
=> [] 

그래서, 모든 로컬 사용자와 괜찮지 만, 나는 모델 쿼리를 다시 할 때, 다음 역할은 지속되지 않았습니다! : 다시 '콘솔을 레일'사용

내 역할 모델이 바로 rolify 발생기로부터 수 있습니다 :

class Role 
    include Mongoid::Document 

    has_and_belongs_to_many :users 
    belongs_to :resource, :polymorphic => true 

    field :name, :type => String 
    index({ :name => 1 }, { :unique => true }) 

    index({ 
    :name => 1, 
    :resource_type => 1, 
    :resource_id => 1 
    }, 
    { :unique => true}) 

    scopify 
end 

는 제발 도와주세요 :)

답변

0

문제는 모델이었다, 이름 필드에 두 개의 고유 인덱스가 있었다. 나는 첫 번째 색인을 삭제했고 이제 모든 것이 완벽하게 작동합니다. 나는 또한 다른 사람들을 위해 이것을 고칠 수 있는지 확인하기 위해 rolify repo에 요청을 보냈습니다.

관련 문제