Я нахожусь в процессе миграции моего приложения Rails с использования PaperClip на ActiveStorage.
В одной из моих моделей у меня был следующий метод (с использованием скрепки):
class ECard < ActiveRecord
def thumb_url
self.attachment.url(:thumb)
end
end
А в контроллере у меня есть:
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, как получить URL-адрес миниатюры вложения из метода thumb_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>)
Как мне этого добиться?