오늘이 문제를 다시 한번 살펴보면 그 해결 방법은 간단합니다. 중복을 피하기 위해 many-to-many user_roles 조인에 boolean 속성을 추가했다.
id | user_id | role_id | active
role_symbols authorization_rules.rb의 DSL 지금처럼 보인다에서 후크하는 데 사용됩니다 내 사용자 모델에 방법 : 이제 사용자
def role_symbols
user_roles.where(:active => true).map do |user_role|
user_role.role.name.underscore.to_sym
end
end
지금 조인은 다음과 같은 특성이 있습니다 role은 user_roles 테이블에서 롤이 활성화 된 자체를 설정합니다.
사용자 전환 (사용자 모델에서) 너무 쉽게
def self.set_active_role(user_id, role_id)
UserRole.where(:user_id => user_id).update_all(:active => false)
activate_role = UserRole.where(:user_id => user_id, :role_id => role_id).first
activate_role.update_attributes(:active => true)
end
는 미래
에 사람을 도움이 될 생각