Видимо, вы столкнулись с той же проблемой, что и эта:
Переадресация Ruby open-uri запрещена
Это вызвано тем, что центральный банк ЕС принудил перенаправление на https
, но библиотека openuri
не разрешает это, и поэтому вы получаете эту ошибку: redirection forbidden
.
Существует гем под названием open_uri_redirections
, который исправит openuri
, чтобы разрешить перенаправления.
https://github.com/open-uri-redirections/open_uri_redirections
Все, что вам нужно сделать, это:
- включите этот камень в свой
Gemfile
.
$ bundle install
для установки вновь добавленного драгоценного камня.
require 'open_uri_redirections'
Это должно временно решить вашу проблему.
Еще одно исправление (рекомендуется) - обезьяна-патч eu_central_bank
драгоценный камень для переопределения
ECB_RATES_URL
при eu_central_bank/lib/eu_central_bank.rb:20
ECB_90_DAY_URL
при eu_central_bank/lib/eu_central_bank.rb:21
констант с https
вместо http
.
следующим образом (укажите этот код в config/initializers/patch_eu_central_bank.rb
):
require 'eu_central_bank'
class EuCentralBank
ECB_RATES_URL = 'https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml'.freeze
ECB_90_DAY_URL = 'https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist-90d.xml'.freeze
end
Вы можете увидеть некоторые предупреждения, такие как:
warning: already initialized constant EuCentralBank::ECB_RATES_URL
.
Вы можете жить с этим, пока пиар не слился в EuCentralBank
драгоценный камень.