背景:我有城市模型,我希望用户能够从城市主列表中选择家乡和当前城市,以便能够调用user.hometown和user.currentcities作为方法
问题:有哪些方法可以最好地解决这种情况?
更新 我忘了提到City本身就是一种社区(除了City之外还有其他类型的社区用户可以选择) - 这就是我使用STI的原因。
答案 0 :(得分:0)
最简单的方法是将hometown_id
和currentcity_id
添加为users
表格中的列,然后为User
模型提供两个关联:
belongs_to :hometown, :class_name => 'City'
belongs_to :currentcity, :class_name => 'City'
除非我遗漏了某些东西,否则我认为你不需要STI。
修改强>
如果City
是通过STI的子类,那么将上面示例中的class_name
更改为基本STI类的类应该允许User
关联链接到社区