ruby-on-rails - 是否可以获取附加在 ActiveStorage 中的图像的 url 并在 Ruby 的控制台上查看它们?
问题描述
我想知道是否可以获取附加到对象的 url 并在 Ruby 的控制台上查看它们?
这一次,我将创建一个方法,可以将附加图像的 url 返回附加图像。
只是为了确保如何做到这一点,我正在尝试在控制台上做类似下面的事情。
在控制台上,
item = Item.first
item.url_for([:images])
但错误显示#<Items 的未定义方法“url_for”
所以我想知道是否有人可以帮助我解决这个问题。
解决这个问题后,我想创建一个类似这样的方法。每个项目在 ActiveStorage 中都有多个图像
def get_images_url
images_url = Items.map do |item|
item.getting_url_images
end
images_url
end
谢谢你。
解决方案
您可以使用Rails.application.routes.url_helpers
在控制器或视图之外调用路由助手:
class Item < ApplicationRecord
has_many_attached :images
# @example
# item = Item.find(1).image_urls
# @return [Array] - an array of urls
def image_urls
item.images.map do |attachment|
Rails.application.routes.url_helpers.url_for(attachment)
end
end
# @example
# urls = Item.all.image_urls
# @return [Array] - an array of arrays
def self.image_urls
self.map(&:image_urls)
end
end
请参阅活动存储概述:链接到文件。
推荐阅读
- excel - 将 Excel 文件的副本保存到 SharePoint
- python - 检测是否在 Python Zelle 图形中的框内单击
- jquery - 如何获得价值
- angular - 如果以角度调用两次,如何等待相同的 observable 完成?
- postgresql - 如何在复合类型的 Postgres 数组中存储双引号?
- c# - 如何使用 XML 将 SAP B1 数据表转换为 System.Data.Datatble
- android - Osmdroid 平铺源显示空白地图 android
- java - 如何使用 Apache POI 在 docx 中用 HTML 替换文本(标签)?
- python - 如何从列表中获取一个值,然后在基本数学方程式中使用它?
- android - 进度条未显示在工具栏内