2015-01-09 9 views
1

В моем приложении rails я хочу использовать country-code, currency-code, ISO locale code, чтобы получить некоторые данные из API. Как я могу получить эту информацию динамически, когда пользователь посещает мой сайт из любого места?Как получить код валюты ISO по коду страны в рельсах?

Я использовал geocoder gem так на request.location Я получу информацию о местоположении и используя этот драгоценный камень, я могу получить country-code. Теперь я не получаю, как я могу получить оставшуюся информацию, такую ​​как currency-code & ISO locale code ?? Может ли кто-нибудь помочь мне или вести меня?

Я видел это money gem, но не уверен, что он предоставит мне всю эту информацию.

Заранее спасибо :)

ответ

6

Я пробовал @Prakash Murthy's ответ. Но есть много проблем в этом http://www.currency-iso.org/dam/downloads/table_a1.xml. Я обнаружил, что нет правильного названия всех стран, и в какой-то стране есть несколько currency_code, которые меня смутили. Но, наконец, я нашел решение этим единственным 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 

К сожалению ответить на мой собственный вопрос, но я отправил здесь, так что в будущем, если кто-то застрял, как мне на тот же вопрос, то его/ее время не впустую.

+1

Ответ на свой вопрос - это правильная вещь, когда у вас есть ответ, и он не был отправлен. Благодарю. –

+0

Я не рекомендую использовать драгоценный камень стран для этого, потому что он использует драгоценный камень валюты, который имеет много недостающей информации о валюте. https://github.com/hexorx/currencies/pulls –

1

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? содержит информацию о получении списка всех кодов локали.

+0

Хотя я согласен, что он редко меняется, я не думаю, что это хорошая идея рассмотреть его * «статические данные» *. Если ваш проект будет жить 5+ лет, это будет так, что вы получите много несоответствий. Вам необходимо периодически обновлять список. – ndn

+0

Спасибо. Это действительно действительный момент; Я не думал об этом. –

Смежные вопросы