我的模型包含一些国家信息
class MyModel
include Mongoid::Document
field :name, type: String
field :country, as: :country, type: Country
end
MyModel.first.country
#<Country:0x007fc6a5d5f278 @data={"continent"=>"Asia",
"alpha2"=>"TH",
"alpha3"=>"THA",
"country_code"=>"66",
"currency"=>"THB",
"international_prefix"=>"001",
"ioc"=>"THA", "latitude"=>"15 00 N",
"longitude"=>"100 00 E", "name"=>"Thailand",
"names"=>["Thailand", "Thaïlande", "Tailandia", "ã¿ã¤"],
"translations"=>{"en"=>"Thailand",
"it"=>"Tailandia",
"de"=>"Thailand",
"fr"=>"Thaïlande",
"es"=>"Tailandia",
"ja"=>"ã¿ã¤",
"nl"=>"Thailand",
"ru"=>"Таиланд"},
"national_destination_code_lengths"=>[2],
"national_number_lengths"=>[9, 10],
"national_prefix"=>"0", "number"=>"764",
"region"=>"Asia", "subregion"=>"South-Eastern Asia",
"un_locode"=>"TH", "languages"=>["th"], "nationality"=>"Thai"}>
使命感
MyModel.first.to_json(only: [:name, :country])
应仅返回
alpha2
,
translations
和
names
我如何才能做到这一点?
我尽量避免为此编写额外的方法。
编辑:
预期输出如下:
MyModel。第一
{"name": "ModelName",
"country": {"alpha2"=> "TH",
"name" => "Thailand",
"names"=> ["Thailand", "Thaïlande", "Tailandia", "ã¿ã¤"]
}