如何通过 rails 中的国家代码获取 ISO 货币代码?
How to get ISO currency code by country code in rails?
在我的 rails 应用程序中,我想使用 country-code
、currency-code
、ISO locale code
从 API 获取一些数据。当用户从任何地方访问我的网站时,我如何动态获取这些信息?
我已经使用了 geocoder gem,所以通过 request.location
我可以得到位置信息,使用这个 gem 我可以得到 country-code
。现在我不知道如何获取 currency-code
& ISO locale code
等剩余信息?任何人都可以帮助我或指导我吗?
我看过这个 money gem 但不确定它是否会为我提供所有这些信息。
提前致谢:)
currency-code
& ISO locale code
是很少改变的静态数据 - 如果有的话,最好通过将它们存储在数据库表中作为系统内的静态信息进行处理。提供用于管理这些数据的 CRUD 接口甚至可能是个好主意。
货币代码的一个可能来源:http://www.currency-iso.org/en/home/tables/table-a1.html
List of All Locales and Their Short Codes? 包含有关获取所有区域设置代码列表的详细信息。
我试过 answer. But there are many issue in this http://www.currency-iso.org/dam/downloads/table_a1.xml I found there is not proper name of all countries and some country has multiple currency_code
which made me confused. But finally I found the solution by this single countries gem 没有创建任何数据库。
以下是我实现解决方案的方法:
country_name = request.location.data['country_name'] # got country name
c = Country.find_country_by_name(country_name) # got currency details
currency_code = c.currency['code'] # got currency code
很抱歉回答我自己的问题,但我已经在这里发帖了,所以以后如果有人像我一样遇到同样的问题,那么 his/her 时间就不会浪费了。
我找到了一种非常简单的方法:
添加currency
gem到Gemfile,然后bundle install
def currency_for_country(currency_iso_code)
ISO3166::Country.new(currency_iso_code).currency_code
end
然后:
currency_for_country('US')
=> "USD"
currency_for_country('AU')
=> "AUD"
此信息基于 countries gem 自述文件
在我的 rails 应用程序中,我想使用 country-code
、currency-code
、ISO locale code
从 API 获取一些数据。当用户从任何地方访问我的网站时,我如何动态获取这些信息?
我已经使用了 geocoder gem,所以通过 request.location
我可以得到位置信息,使用这个 gem 我可以得到 country-code
。现在我不知道如何获取 currency-code
& ISO locale code
等剩余信息?任何人都可以帮助我或指导我吗?
我看过这个 money gem 但不确定它是否会为我提供所有这些信息。
提前致谢:)
currency-code
& ISO locale code
是很少改变的静态数据 - 如果有的话,最好通过将它们存储在数据库表中作为系统内的静态信息进行处理。提供用于管理这些数据的 CRUD 接口甚至可能是个好主意。
货币代码的一个可能来源:http://www.currency-iso.org/en/home/tables/table-a1.html
List of All Locales and Their Short Codes? 包含有关获取所有区域设置代码列表的详细信息。
我试过 currency_code
which made me confused. But finally I found the solution by this single countries gem 没有创建任何数据库。
以下是我实现解决方案的方法:
country_name = request.location.data['country_name'] # got country name
c = Country.find_country_by_name(country_name) # got currency details
currency_code = c.currency['code'] # got currency code
很抱歉回答我自己的问题,但我已经在这里发帖了,所以以后如果有人像我一样遇到同样的问题,那么 his/her 时间就不会浪费了。
我找到了一种非常简单的方法:
添加currency
gem到Gemfile,然后bundle install
def currency_for_country(currency_iso_code)
ISO3166::Country.new(currency_iso_code).currency_code
end
然后:
currency_for_country('US')
=> "USD"
currency_for_country('AU')
=> "AUD"
此信息基于 countries gem 自述文件