#症状
railsにamazon-acsをrequireして商品情報検索してるのに
hoge_controller.rb
class HogehogeController < ApplicationController
def hoge
@res = Amazon::Ecs.item_search('9784797372274',
:search_index => 'Books',
:response_group => 'Medium',
:country => 'jp'
)
end
end
viewでインスタンス参照すると
hoge.html.erb
<%= @res.first_item.get('ItemAttributes/Title') %>
<img src="<%= @res.first_item.get('MediumImage/URL') %>" />
Amazon::RequestError (HTTP Response: 503 Service Unavailable)
となってうまくいかない
#原因
リクエストの間隔が短いのがいけないらしい
今回の場合controllerとviewでそれぞれリクエスト送っているので間隔を開ければ良い
hoge_controller.rb
class HogehogeController < ApplicationController
def hoge
@res = Amazon::Ecs.item_search('9784797372274',
:search_index => 'Books',
:response_group => 'Medium',
:country => 'jp'
)
sleep(1) #これを追加,最適な秒数はよくわかりません
end
end
#追記
よく考えたら普通にcontroller内でリクエストの内容をインスタンス変数に代入すればそもそもviewでリクエストする必要ない
#お世話になったサイト
http://blog.kosk.me/2013/10/22/get-dvds-cover-pics-2/