使用角色而不是用户类型的多个模型时如何实现 Rails 关联
我需要一些关于采取以下最佳方法的建议。
我的应用程序中曾经有导师、学生、预订模型。
我想要一个包含一名导师和一名学生的预订。
目前,我正在使用 devise 进行用户身份验证,我喜欢使用通用用户的想法,并为用户定义角色,就像许多人使用 devise & 所做的那样。康康舞。例如,它可以轻松创建管理员角色。 因此,我可以在用户中包含导师或学生角色。
现在我的问题是我不能再按照我想要的方式使用关联,例如
Reservation
belongs_to :Tutor
belongs_to :Student
因为我不再为每种类型的用户提供单独的模型。
我应该怎么办?
我发现,如果我有导师和学生的单独模型,那么在设计中我将需要单独的链接来登录和编辑每种类型的用户。
添加一些类似问题的链接
I need some advice on the best approach to take for the following.
I used to have Tutor, Student, Reservation models in my application.
I want a reservation to contain a Tutor and a Student.
Currently I am using devise for the user authentication, and I like the idea of using a generic User, and having roles defined for the users as many people have done with devise & cancan. It makes it easy to create an admin role for example.
Thus I could have a role Tutor or Student contained within User.
Now my problem is that I can no longer use associations in the way I would like, e.g.
Reservation
belongs_to :Tutor
belongs_to :Student
because I no longer have an individual model for each type of user.
What should I do?
I found that if I have individual models for Tutor and Student then in devise I would need seperate links for logging in and editing each type of user.
Adding some links to similar questions
Multipe relationships in Rails where the class name does not match the association name
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只需覆盖类名即可使用“User”:
Just override the class name to use 'User':