我有模型用户和模型招聘人员。目前,这是两个单独的表,但我想将它们合二为一。
当前:
- 用户:id、用户名、密码、姓名
- 招聘人员:id, user_id
理想:
- 用户:id、用户名、密码、角色(招聘人员、管理员)
我了解 STI 的基础知识。我想知道的是,当我在 new Recruiter Controller (从 User 继承)上执行方法时,如何确保我的所有方法都在调用仅是招聘人员的用户?因此,按照...SELECT * FROM users WHERE role = 'recruiter'
查询所有内容。
最佳答案
这是 Rails 开箱即用地为您处理的事情。您不必手动查询特定类型的用户,只需查询正确的模型即可。
我还必须提到,默认情况下,rails 假设您的 sti_column 被称为 type
,但可以很容易地覆盖为 role
。
关于ruby-on-rails - 有条件的单表继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16446986/