객체 배열에서 객체 속성의 새 해시를 만들려고합니다. Ruby aaws gem을 통해 Amazon API를 사용하고 있는데 API가 반환하는 배열을 반복하는 방법을 알아내는 데 어려움을 겪고 있으므로 전체 배열이 아니라 속성 만 전달됩니다. 아래 코드를 실행하면 전체 배열을 반환합니다.Ruby에서 객체 배열의 객체 속성 반환
def self.amazon(search)
keywords = "#{search}"
resp = Amazon::AWS.item_search('Books', { 'Title' => keywords })
items = resp.item_search_response[0].items[0].item
items.each do |attribs|
a = attribs.item_attributes
@results = []
@results << {:label => "#{a.title.to_s[0,85] unless a.title.nil?}",
:value => "#{a.title.to_s unless a.title.nil?}",
:img => "#{attribs.medium_image.url.to_s unless attribs.medium_image.url.nil?}"""
}
end
end
루프를 수정해야하지만 틀린 위치를 정확히 알지 못합니다.