我需要从User继承一个新类CountryUser,它们之间的区别是一个单一的关联
用户
class User < ActiveRecord::Base
has_many :user_sites
has_many :sites, through: :user_sites
has_many :countries, through: :sites
end
CountryUser
class CountryUser < User
has_many :user_countries
has_many :countries, through: :user_countries
end
当我是一个CountryUser时,我通过user_countries表获取我的国家/如果我是普通用户,我通过我指定的网站获取我的国家/地区。
但问题是CountryUser.first.countries
总是将关系显示为普通用户(通过网站)
是否可以覆盖子类中的关联?或者有更好的方法来实现这一目标吗?
答案 0 :(得分:1)
我假设您正在使用单表继承/ STI?
User
和CountryUser
具有不同的关联,因此将您的常见用户模型问题重新计入基本用户类User
并创建两个子类SiteUser
和{{1}如下:
CountryUser