【发布时间】:2016-01-13 15:23:15
【问题描述】:
我有一个 Album,它使用 Paperclip gem 来存储 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
有没有一种方法可以只映射每个 style 而不必对艺术品 url 编写相同的调用?我尝试获取样式的哈希值,但没有返回任何内容:
album.artwork.styles
=> {}
有什么想法让它发挥作用吗?
【问题讨论】:
标签: activerecord model paperclip enumeration active-model-serializers