gpt4 book ai didi

ruby-on-rails - Active Model Serializer 和 Paperclip 大小不同

转载 作者:行者123 更新时间:2023-12-04 05:53:11 26 4
gpt4 key购买 nike

我有一个 Assets 模型类,它使用回形针 3.5.2 具有不同的大小:

class AssetSerializer < ActiveModel::Serializer
attributes :id, :asset # works fine
# would like to output small but don't seem to be able to
#attributes :id, :asset, :asset(:small)
end

这有点令人困惑,因为 Paperclip 使用名称 class 而模型称为 class(确实令人困惑)。我收到以下错误:

/Users/jt/repos/rails/app/serializers/asset_serializer.rb:2: syntax error, unexpected '(', expecting keyword_end
attributes :id, :asset, :asset(:small)

它显然不喜欢传递给 Assets 的参数

最佳答案

你可以在序列化器中添加一个自定义属性

他们在文档中有一个示例 https://github.com/rails-api/active_model_serializers#attributes

下面是您将使用的示例。

class AssetSerializer < ActiveModel::Serializer
attributes :id, :asset, :asset_small

def asset_small
object.asset.url(:small)
end
end

关于ruby-on-rails - Active Model Serializer 和 Paperclip 大小不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20963079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com