У меня есть Album
, который использует драгоценный камень Paperclip для хранения artwork
загруженных изображений. Атрибут artwork
содержит список стилей изображений разных размеров: большой, средний и большой.
class Album < ActiveRecord::Base
has_attached_file :artwork, styles: { thumb: "50x50#", medium: "160x160#", large: "300x300#" }
...
end
В моем активном сериализаторе модели я хочу создать атрибут images
на основе массива, который хранит URL-адреса каждого из этих размеров. По традиции я бы сделал что-то вроде этого:
class AlbumSerializer < ActiveModel::Serializer
attributes :id, :name, :images
def images
[object.artwork.url(:thumb), object.artwork.url(:medium), object.artwork.url(:large)]
end
end
Есть ли способ просто сопоставить каждый стиль вместо того, чтобы писать один и тот же вызов для URL-адреса художественного произведения? Я попытался получить хэш стилей, но ничего не вернул:
album.artwork.styles
=> {}
Есть идеи, как заставить это работать?