2013-08-28 39 views
0

我正在使用亞馬遜產品廣告API,並且在我的控制器中修改其響應以呈現自定義的JSON,但其響應會根據產品類別而改變很多,所以我需要編寫能夠捕獲所有它改變的方式。我只需要一些數據,那麼如何在將這些數據包含在我自己的自定義JSON中之前,簡單地檢查這些數據是否存在於Amazon的API響應中?Rails - 如何在添加到新對象之前檢查是否已定義?

注意:我使用this gem與Amazon的API集成。它在它自己的對象中返回API響應。

@results = (Amazon's API response) 
@custom_response = [] 
@results.items.each do |product| 
     @new_response = OpenStruct.new(
         :id => product.asin, 
         :source => "amazon", 
         :title => product.title, 
         :price => @product_price, 
         :img_small => @images[0], 
         :img_big => @images[1], 
         :category => product.product_group, 
         :link => "http://amazon.com/") 
     @custom_response << @new_response 
end 

回答

1

你可以嘗試這樣的: -

@new_response = OpenStruct.new(:source => "amazon", :link => ".....") 

@new_response.id = product.asin if product.asin.present? 
@new_response.title = product.title if product.title.present? 
other attributes....    
相關問題