我正在开发一个网站,在那里医生可以管理他们的病人,预约等。一个医生可以有多个助手,帮助他们与这些活动,一个助手可以属于多个医生。
医生和助手都应该能够从相同的登录表单登录,但由于显而易见的原因,他们根据自己的角色具有不同的权限和关联,例如,患者与医生关联,而不是与助手关联。
你的建议是最好的方法吗?我正在考虑授权部分的CanCan,也许还有一个用户模型的STI,博士和助理可以继承认证部分,但是STI可以处理这两个模型之间的HABTM,以及每个模型可能具有的其他关联吗?
提前谢谢你
发布于 2012-02-13 04:02:01
这应该能起到作用。
只需确保您使用'type‘来设置用户是谁。然后,您可以使用以下内容:
current_user.is_doctor?以确定区域的访问权限。
module User
def is_doctor?
true if self.type == Doctor
end
def is_assistant?
true if self.type == Assistant
end
end
module Doctor < User
has_and_belongs_to_many :assistants, :through => "assistant_assignments"
end
module Assistant < User
has_and_belongs_to_many :doctors, :through => "assistant_assignments"
end如果你需要更多信息,请大叫。
https://stackoverflow.com/questions/9247026
复制相似问题