使用导轨、涡轮增压框架和涡轮流推送图像时出现问题

Problem pushing image with rails, turbo frames and turbo streams

提问人:david 提问时间:11/5/2023 最后编辑:david 更新时间:11/6/2023 访问量:42

问:

我需要 (1) 上传文件,(2) 处理文件并生成变体,以及 (3) 将图像返回到浏览器。由于处理需要几秒钟,我希望视图更新以显示图像,以证明步骤 (2) 中的处理已开始,然后在步骤 (3) 中更新为新的图像变体。步骤 (3) 的刷新是通过模型中的一行通过涡轮流发送的

broadcast_replace_later_to("documents")

步骤 1 和 2 工作正常。对于步骤 (3),视图中的文本更新正常,但图像在某处被阻止。如果我刷新页面(称之为步骤(4)),则会显示正确的图像。

我正在使用默认端口 3000、rails 7.0.8、turbo-rails 1.5.0、stimulus-rails 1.3.0 在开发模式下工作。

图像文件在每个阶段都有不同的 URL。 (2) http://localhost:3000/assets/icon.png (3) (失败) http://localhost/rails/active_storage/representations/redirect/random/random/correctname.png (4) http://localhost:3000/rails/active_storage/representations/redirect/random/random/correctname.png

主机名似乎出了问题。我尝试在ApplicationController中使用{host: 'localhost:3000'}设置default_url_options,但没有端口,但它没有帮助。

我尝试设置,但图像仍然被阻止。Firefox 网络工具显示请求被阻止。config.action_cable.disable_request_forgery_protection = true

我尝试更新到 rails 7.1.1,但得到相同的结果:图像 URL 和一些链接 URL 缺少“:3000”端口号。

Ruby-on-Rails CORS RAILS-ActiveStorage Turbo

评论


答: 暂无答案