Rails Alpha2 の国を実際の国名に変換する

概要

私は country gem https://github.com/hexorx/countries を使用し、alpha2 の国名から国名を取得しようとしています。しかし、それは[オブジェクトオブジェクト]として来ます。これが私のコードです。

render :json => @countries.map { |c| [c.id, ::ISO3166::Country[c.country]] }

これにより、期待どおりに aplha2 が返され、国列に保存されます。

render :json => @countries.map { |c| [c.id, c.country] }

解決策

Country インスタンスの代わりにハッシュ (データ) を渡す必要があります。

render :json => @countries.map { |c| [c.id, ::ISO3166::Country[c.country].data] }

国名のみが必要な場合は、name を使用します。

render :json => @countries.map { |c| [c.id, ::ISO3166::Country[c.country].name] }