【问题标题】:Mapping through Paperclip image styles通过回形针图像样式映射
【发布时间】: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


    【解决方案1】:

    不确定回形针部分(“样式数组”),但您可以这样做:

    def images
      [:thumb, :medium, :large].map { |style| object.artwork.url(style) }
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多