Ruby on rails Rails 5.2 API ActiveStorage如何获取多映像的URL路径?
我正在从回形针迁移到Rails 5.2和活动存储。我只使用rails作为API 如何获取已附加多个图片的URL路径:图片 这是工作的单个文件的代码:Ruby on rails Rails 5.2 API ActiveStorage如何获取多映像的URL路径?,ruby-on-rails,rails-activestorage,ruby-on-rails-5.2,Ruby On Rails,Rails Activestorage,Ruby On Rails 5.2,我正在从回形针迁移到Rails 5.2和活动存储。我只使用rails作为API 如何获取已附加多个图片的URL路径:图片 这是工作的单个文件的代码: class UserSerializer < ActiveModel::Serializer include Rails.application.routes.url_helpers attributes %i[email name username] .... attribute :verification_url do if
class UserSerializer < ActiveModel::Serializer
include Rails.application.routes.url_helpers
attributes %i[email name username]
....
attribute :verification_url do
if object.verification_file.attachment
URI.join(ActionController::Base.asset_host, rails_blob_path(object.verification_file))
end
end
....
end
以下是解决方案:
def images
return unless object.images.attachments
image_urls = object.images.map do |image|
URI.join(
ActionController::Base.asset_host,
rails_blob_path(image))
end
image_urls
end
似乎图像就是实际的url
,单击此链接时,您应该会在浏览器上获得类似于您的本地\u主机/rails/active\u存储/disk/。
我只在API服务器上使用rails,我需要通过活动序列化程序传递这些url,此解决方案可能适用于常规rails应用程序。Gotchya,您尝试过rails\u blob\u url吗(图)
关于绝对路径?我目前正在研究rails 5.2的新的活动存储功能,因为一个即将到来的新工作项目需要它。因此,您面临的一些情况肯定会在未来几天帮助我解决。您也可以试试这个rails blob\u路径(图,处置:“附件”),only_path:true)
查看它是否生成您所需的绝对路径?谢谢。我得到的对象与之前的相同blob_id:4 created_位于:“2018-05-22T11:21:04.927Z”id:4 name:“images”record_id:42 record_type:“Dish”
image\u url不应该是数组吗?这不会只返回集合中的最后一个图像吗?@Jurgen image\u url是数组。默认情况下,map方法正在创建它。
def images
return unless object.images.attachments
image_urls = object.images.map do |image|
URI.join(
ActionController::Base.asset_host,
rails_blob_path(image))
end
image_urls
end