rails 3 mongoid和国家宝石

时间:2012-03-21 20:16:56

标签: ruby-on-rails ruby-on-rails-3 rubygems mongoid country-codes

我想使用我在这里找到的国家宝石,而不是创建一个单独的模型。

它可以继承,但我也希望能有其他类属于它。

这可能吗? IE如下所示。是否有一些方法可以用来为子类提供密钥?

https://github.com/hexorx/countries

class Country < ISO3166::Country
  #include Mongoid::Document    

  #RELATIONS
  has_many :cities
  has_many :reviews, as: :reviewable
end

目前我得到NoM​​ethodError:国家/地区的未定义方法`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

1 个答案:

答案 0 :(得分:0)

对我而言,最好的行为不是在您的情况下使用has_many,而是在内部使用Mongoid查询创建所需的方法。