gpt4 book ai didi

ruby-on-rails - 从 Active Storage 更改默认 url

转载 作者:行者123 更新时间:2023-12-04 18:57:00 27 4
gpt4 key购买 nike

我们可以更改从事件存储创建的默认“永久”url 以重定向到 S3。类似于 rails/active_storage/representations/。我不喜欢 url 中的框架名称。

谢谢

最佳答案

更新 :
最近,在 Rails 6 中添加了一个可以配置路由前缀的内容:https://guides.rubyonrails.org/6_0_release_notes.html#active-storage-notable-changes

这只是一个配置问题:

Rails.application.configure do
config.active_storage.routes_prefix = '/whereever'
end

不幸的是,该 url 是在 ActiveStorage routes.rb 中定义的。没有简单的改变方法:
get "/rails/active_storage/blobs/:signed_id/*filename" => 
"active_storage/blobs#show", as: :rails_service_blob
get "/rails/active_storage/representations/:signed_blob_id/:variation_key/*filename" =>
"active_storage/representations#show", as: :rails_blob_representation

我能想到的一个解决方案起点是另外定义您自己的路线并覆盖“rails_blob_representation_path”或类似的
get "/my_uploads/:signed_blob_id/:variation_key/*filename" => 
"active_storage/representations#show", as: :my_upload

然后覆盖帮助程序文件中的路径并将帮助程序包含在命名帮助程序中:

How to override routes path helper in rails?
module CustomUrlHelper
def rails_blob_representation(*args)
my_upload(*args)
end
end

# initializer etc.
Rails.application.routes.named_routes.url_helpers_module.send(:include, CustomUrlHelper)

该解决方案可能需要一些调整,但我没有对其进行测试。

关于ruby-on-rails - 从 Active Storage 更改默认 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50128302/

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