Я использую open-uri и файл seed.db. Я пытаюсь запустить следующий код, используя «rake db:seed --trace»:
CSV.foreach("vendor/users1.csv", { :col_sep => ",", :quote_char => "\"", :headers => true}) do |row|
user = User.find_by_email("sample#{i}@foobardne.com")
if (!user.picture_url.nil?)
begin
file = open user.picture_url
user.avatar = file
rescue OpenURI::HTTPError => error
user.avatar = nil
rescue OpenURI::HTTPRedirect => redirect
user.avatar = nil
end
user.password = user.password_confirmation = "foobar"
user.save
end
По какой-то причине каждый раз, когда я запускаю команду, она не распознает мой второй оператор спасения для перенаправления, и я получаю следующий вывод (конец которого я сократил):
** Invoke db:seed (first_time)
** Execute db:seed
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:abort_if_pending_migrations
rake aborted!
redirection forbidden: http://cellbio.med.harvard.edu/faculty/artavanis/images/artavanis4_2002.jpg -> https://cellbio.med.harvard.edu/faculty/artavanis/images/artavanis4_2002.jpg
Любая идея, почему мой код не улавливает ошибку перенаправления? Любая помощь действительно приветствуется!