2012-01-13 3 views
0

내 앱은 Permission 모델이고 테이블에는 email 필드가 있습니다. 기존 사용자 (User 모델)는 정보를 보도록 초대하려는 사람들의 전자 메일 주소를 추가 할 수 있습니다. 이러한 전자 메일 주소는 데이터베이스의 permissions.email 필드에 저장됩니다.Devise를 수정하여 등록 권한을 확인 하시겠습니까?

permissions 테이블의 이메일 주소를 가진 사용자 만 계정을 만들 수 있도록 Devise의 등록 프로세스를 수정하려면 어떻게해야합니까?

답변

1

사용자 모델에서 유효성 검사기를 사용하여 이전에이 작업을 수행했습니다. 예 :

validates :email, :my_access_control => true 

다음 등록 된 사용자가 자신의 이메일 주소를 변경하면 어떻게됩니까이

class MyAccessControlValidator < ActiveModel::EachValidator 
    def validate_each(object, attribute, value) 
    if ... not in permissions table.. 
     ... add to objects error collection why they cannot register 
    end 
    end 
end 
+0

같은 것을 만들? – Clay

+1

고마워, 방금 업데이트를하는 동안 검증을 실행하지 않도록': on => : create'를 추가했다. – Clay