【发布时间】:2011-10-10 22:54:45
【问题描述】:
这几天我一直在研究这个问题,我知道有很多文章都在讨论单表继承和 Rails 的多态关联。很多有用的材料来自 2009 年或更早,我想知道现在是否有更好的方法来解决这个问题。
情况
该应用程序有几个不同的用户类型(即买方和卖方),每个用户类型都有一个配置文件。每种用户类型的个人资料确实不同,因此我目前正在排除使用一个通用“个人资料”表的想法。
我目前的做法
与this解决方案相同。
class User < ActiveRecord::Base
# authentication stuff
end
class UserType1 < User
has_one :user_type_1_profile
end
class UserType2 < User
has_one :user_type_2_profile
end
...
class UserTypeN < User
has_one :user_type_n_profile
end
根据我的研究,这是一种“混合模型”设计。
老实说,目前我不知道任何其他可行的解决方案。每次我看到similar questions 问我都会看到多态关联的想法。有人可以详细说明在这种情况下多态关联是如何工作的吗?
还有其他设计建议吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3