Ruby on rails 如何在rails中按国家代码获取ISO货币代码?
在我的rails应用程序中,我想使用Ruby on rails 如何在rails中按国家代码获取ISO货币代码?,ruby-on-rails,ruby,locale,currency,country-codes,Ruby On Rails,Ruby,Locale,Currency,Country Codes,在我的rails应用程序中,我想使用国家代码,货币代码,ISO地区代码从API获取一些数据。当用户从任何地方访问我的站点时,我如何动态获取此信息 我已经通过请求使用了。location我将获得location的信息,使用此gem我可以获得国家代码。现在我不知道如何获取剩余信息,如货币代码&ISO地区代码??谁能帮助我或指引我 我看过这个,但不确定它是否能提供所有这些信息 提前感谢:)货币代码&ISO地区代码是静态数据,很少更改(如果有更改的话),最好将其存储在数据库表中,作为系统内的静态信息处理
国家代码
,货币代码
,ISO地区代码
从API获取一些数据。当用户从任何地方访问我的站点时,我如何动态获取此信息
我已经通过请求使用了。location
我将获得location的信息,使用此gem我可以获得国家代码
。现在我不知道如何获取剩余信息,如货币代码
&ISO地区代码
??谁能帮助我或指引我
我看过这个,但不确定它是否能提供所有这些信息
提前感谢:)
货币代码
&ISO地区代码
是静态数据,很少更改(如果有更改的话),最好将其存储在数据库表中,作为系统内的静态信息处理。提供一个CRUD接口来管理这些数据可能是个好主意
货币代码的一个可能来源:
包含有关获取所有区域设置代码列表的详细信息。我已尝试回答。但是这里面有很多问题,我发现不是所有国家都有正确的名称,有些国家有多个货币\u code
,这让我很困惑。但最终我找到了这个解决方案,没有创建任何数据库
以下是我如何实现解决方案的:
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
很抱歉回答我自己的问题,但是我已经在这里发布了帖子,所以将来如果有人因为同样的问题像我一样坚持,那么他/她的时间就不会浪费了 我找到了一种让它变得非常简单的方法: 将
currency
gem添加到Gemfile,然后bundle安装
def currency_for_country(货币iso_代码)
ISO3166::Country.new(货币代码)。货币代码
结束
然后:
此信息基于自述文件当您有答案但尚未发布时,回答您自己的问题是正确的做法。谢谢。我不建议使用国家创业板,因为它使用的货币创业板有很多遗漏的货币信息。虽然我同意它很少改变,但我认为把它看作是“静态数据”不是一个好主意。如果你的项目将持续5年以上,那么你会遇到很多不一致的情况。您需要定期更新列表。谢谢。这确实是一个正确的观点;我没有考虑过。
currency_for_country('US')
=> "USD"
currency_for_country('AU')
=> "AUD"