首页 > 解决方案 > Rails ActiveStorage:在代理模式下如何获取 Variant url?

问题描述

在 /config/application.rb 我有config.active_storage.resolve_model_to_route = :rails_storage_proxy.

然后我用Rails.application.routes.url_helpers.rails_representation_url(img, only_path: true)

但是我仍然通过重定向而不是直接从我的 rails 应用程序获取图像,就像我在配置代理模式时所期望的那样。

我应该使用不同的方式生成网址吗?还是我配置代理模式错误?

标签: ruby-on-railsrubyrails-activestorageruby-on-rails-6.1

解决方案


要在代理模式下获取变体 URL,您需要使用 方法Rails.application.routes.url_helpers.rails_storage_proxy_url(img, only_path: true)

此外,当使用 api only 模式时,您需要通过添加config.middleware.use ActionDispatch::Flash到 application.rb 来启用 Flash 中间件。由于这个问题,这是必要的


推荐阅读