블로그 앱에서 선언적 권한을 구현했습니다. 이제 관리자, 인증 된 사용자 및 게스트 사용자에 대해 각각 3 가지 레이아웃이 있습니다. 그래서 특정 유형의 사용자가 특정 시간에 앱을 사용하고 있는지 확인해야합니다. 우리는 사용자 모델, 역할 모델 및 할당 모델을 가지고 있습니다.사용자가 Decalarative Authorization을 가진 Admin인지 Not인지 확인
User.rb
class User < ActiveRecord::Base
attr_accessible :login, :email, :password, :password_confirmation, :role_ids
has_many :articles
has_many :comments
has_many :assignments
has_many :roles, :through => :assignments
def role_symbols
roles.map do |role|
role.name.underscore.to_sym
end
end
acts_as_authentic do |c|
c.login_field = :login
end
def deliver_password_reset_instructions!
reset_perishable_token!
Notifier.deliver_password_reset_instructions(self)
end
end
Assignment.rb
class Assignment < ActiveRecord::Base
belongs_to :user
belongs_to :role
end
Role.rb
class Role < ActiveRecord::Base
attr_accessible :name
has_many :assignments
has_many :users, :through => :assignments
end
모든 솔루션?
모델이 정확히 어떻게 생겼습니까? 협회? 한 사용자는 항상 하나의 역할 만 갖고 있습니까? – Mattherick
예. 나는 그 질문을 갱신 할 것이다. –