gpt4 book ai didi

ruby-on-rails - ActiveStorage - 获取模型中的变体 URL

转载 作者:行者123 更新时间:2023-12-05 00:48:01 27 4
gpt4 key购买 nike

我正在将我的 Rails 应用程序从使用 PaperClip 迁移到 ActiveStorage。

在我的一个模型中,我有以下方法(使用回形针):

class ECard < ActiveRecord
def thumb_url
self.attachment.url(:thumb)
end
end

在 Controller 中我有:

def by_type
@e_cards = ECard.where(type_id: params[:type_id]).as_json(:only => [:id, :name], :methods => [:thumb_url])
respond_to do |format|
format.json { render json: @e_cards }
end
end

现在,我正在使用 ActiveStorage,如何从 thumb_url 获取附件的缩略图 url方法?

作品:Rails.application.routes.url_helpers.rails_blob_path(attachment, only_path: true)

不起作用:Rails.application.routes.url_helpers.rails_blob_path(attachment.variant(resize: '200x200'), only_path: true)这会引发错误:NoMethodError (undefined method 'signed_id' for #<ActiveStorage::Variant:0x00007fac1960eab0>)

我如何做到这一点?

最佳答案

找到了!

def thumb_url 
Rails.application.routes.url_helpers.rails_representation_url(attachment.variant(resize: "200x200").processed, only_path: true)
end

发现于 this answer .

关于ruby-on-rails - ActiveStorage - 获取模型中的变体 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54128695/

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