私のビューには次のAPI呼び出しがあり、頻繁に再利用しています。
<%@products.each do |product|%>
<% url_raw = URI.parse("url=#{product.wmt_id}") %>
<% url = Net::HTTP.get_response(url_raw).body %>
<% if url.empty? %>
<% @title = "Product Unavailable via API" %>
<% @url = "Product Unavailable via API" %>
<% @cover_img = "180X180.jpg" %>
<% @price = "Product Unavailable via API" %>
<% else %>
<% begin %>
<% @response1 = JSON.parse(url) %>
<% @title = @response1["ProductName"]%>
<% @url = "{@response1["ProductUrl"]}"%>
<% @cover_img = @response1["ImagePath"]%>
<%@price = @response1["currentItemPrice"]%>
<%rescue%>
<%end%>
<%end%>
コードを枯渇させて、これをメソッドとして定義し、再利用できるようにするための最も効率的な方法は何でしょうか。このコードを3つの別々のビューファイルで使用した場合、どこに配置する必要がありますか?