如何在ActiveRecord中实现MTI?

时间:2016-01-09 21:01:30

标签: ruby-on-rails ruby-on-rails-4 activerecord

例如,我有一个用户模型和一个包含字段的表:名称,电子邮件和密码。还有一个Employer模型,它继承了所有User模型,并且应该有自己独特的字段,例如:Company,Phone等。

如何实现多表继承?

1 个答案:

答案 0 :(得分:1)

RTI对MTI的支持很差。有一个宝石active_record-acts_as可以做到这一点。

更新:

我在阅读你对雇主/雇员的评论后决定延长我的答案。目前,我正在处理一个应用程序,其中也有不同类型的用户,而不是仅在会话中存储:current_user_id我决定存储current_profile_type和{{1}所以current_profile_id可以是不同模型的实例。

这些模型可能有类似的功能;它可以被提取到关注中。可以呈现不同的视图,具体取决于current_profile的某些类。

也许这种方法也适用于您的情况。