1
我試圖讓rake任務從JSON API fixer.io, 填充數據庫,但是當我型我耙:
耙分貝:填充
此錯誤發生:Rails的填充分貝rake任務OpenURI :: HTTPError:500內部服務器錯誤
OpenURI::HTTPError: 500 Internal Server Error
/home/jakub/Documents/workspace/exch/lib/tasks/populate.rake:16:in `block (5 levels) in <top (required)>'
/home/jakub/Documents/workspace/exch/lib/tasks/populate.rake:13:in `block (4 levels) in <top (required)>'
/home/jakub/Documents/workspace/exch/lib/tasks/populate.rake:12:in `each'
/home/jakub/Documents/workspace/exch/lib/tasks/populate.rake:12:in `block (3 levels) in <top (required)>'
/home/jakub/Documents/workspace/exch/lib/tasks/populate.rake:11:in `each'
/home/jakub/Documents/workspace/exch/lib/tasks/populate.rake:11:in `block (2 levels) in <top (required)>'
Tasks: TOP => db:populate
(See full trace by running task with --trace)
這是LIB /我的任務rake任務(populate.rake):
require 'open-uri'
namespace :db do
desc "Erase and fill database"
task :populate => :environment do
require 'populator'
[ConversionRate].each(&:delete_all)
n = JSON.load(open('http://api.fixer.io/latest'))["rates"].keys.count
currencies = JSON.load(open('http://api.fixer.io/latest'))["rates"].keys
currencies.each do |curr1|
currencies.each do |curr2|
ConversionRate.populate 1 do |cr|
cr.currency1 = curr1
cr.currency2 = curr2
cr.conversion_rate = JSON.load(open('http://api.fixer.io/latest?base=' + curr1))["rates"][curr2]
end
end
end
end
end
請幫助我,我不知道是什麼原因導致這個PROBL EM。
呀鍵,我發現缺少鍵:d –
好,然後打接受的答案:) –
但同樣的錯誤仍然發生......我想我對這個API提出了太多的要求?有沒有辦法解決這個問題?它不顯示這個錯誤,只有當我使這個循環像'貨幣[0..2] .each'一樣小時, –