我已经在我的博客应用程序中实现了声明式授权。现在,我为管理员、经过身份验证的用户和来宾用户分别设置了三种布局。所以我需要检查在特定时间使用该应用程序的用户类型。我们有用户模型、角色模型和分配模型。
用户.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
作业.rb
class Assignment < ActiveRecord::Base
belongs_to :user
belongs_to :role
end
角色.rb
class Role < ActiveRecord::Base
attr_accessible :name
has_many :assignments
has_many :users, :through => :assignments
end
有什么解决办法吗?