我想使用我在这里找到的国家宝石,而不是创建一个单独的模型。
它可以继承,但我也希望能有其他类属于它。
这可能吗? IE如下所示。是否有一些方法可以用来为子类提供密钥?
https://github.com/hexorx/countries
class Country < ISO3166::Country
#include Mongoid::Document
#RELATIONS
has_many :cities
has_many :reviews, as: :reviewable
end
目前我得到NoMethodError:国家/地区的未定义方法`has_many':Class
或者某种方式在初始化对象后包含/继承gem中的属性?
class Country# < ISO3166::Country
include Mongoid::Document
#field :name, :type => String
field :country_id, :type => String
##RELATIONS
has_many :cities
has_many :reviews, as: :reviewable
def after_initialize
ISO3166::Country.find_country_by_alpha3(self.country_id)
end
end
答案 0 :(得分:0)
对我而言,最好的行为不是在您的情况下使用has_many
,而是在内部使用Mongoid查询创建所需的方法。