Jbuilder コード:
json.array!(@venues) do |venue|
json.extract! venue, :id, :name, :longitude, :latitude, :price_range, :venue_category_id, :venue_images, :address, :short_description, :max_capacity
end
私のモデルでは、各「会場」には多数の「会場画像」があります。上記の JSON は、予想どおり、メインの会場配列内にvenue_images のオブジェクトの配列を提供しています。
会場画像オブジェクトは次のようになります。
#<Item:0x007fc97559b960> {
:id => 1,
:image_content_type => "image/jpeg",
:image_file_name => "chanel.jpg",
:image_file_size => 28880,
:image_updated_at => 2012-04-09 21:00:08 UTC
}
これらは JS ビューでは使用できないため、Paperclip/S3 ヘルパー (つまり、.image.url(:medium)) を呼び出すことができるように、jbuilder コードで何らかの方法で会場の画像を反復処理する必要があります。paperclip オブジェクトの他のすべてのプロパティではなく、これらの URL を @venues 配列に取得する必要があるため、JS でそれらを反復処理してビューに表示できます。
これを行う最善の方法は何ですか?いくつかの異なるブロックを試し、jbuilder wiki といくつかの記事を見ましたが、何も機能しません。
ありがとう