我正在开发一个拥有3种类型用户的网站和一个拥有每种类型用户的“案例”。 我没有定义Facilitator,Customer和Diagnostician Models,而是使用Rolify将它们定义为Roles。仍然不确定这是最好的解决方案。
无论如何,我有2个型号: 用户 情况下
class Case < ApplicationRecord
resourcify
end
class User < ApplicationRecord
rolify strict: true
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
belongs_to :role
after_create :assign_default_role
def assign_default_role
self.add_role "newuser" if self.roles.blank?
end
end
3个角色: 主持人 顾客 诊断医生
对于每种情况,我将定义一个且只有一个角色。
为了进行实验,我创建了一个用户和一个案例,并为此用户提供了“促进者”角色。
我正在尝试从案例中检索具有“辅导员”角色的用户,但我无法使用:
Case.first.roles.where(name: "facilitator").first
Case.first.find_roles(:facilitator)
我找不到阅读Rolify Wiki的解决方案。
答案 0 :(得分:0)
我认为你正在寻找这样的东西:
user= User.with_role(:facilitator).first
我假设你有一个角色的连接表,可能叫做:users_roles