将 Rails 更新为 Hotwire 给出 304

问题描述

我已经更新了一个 Rails '6.0.3' 应用程序以使用 hotwire-rails 而不是 turbolinks 并且收到 304 的响应,而 turbo_frame_tag 中的视图没有更新

我从头开始创建了一个新的 Rails 应用并成功实现了热线,所以我猜测问题在于我现有应用中残留的 Javascript。

服务器请求

服务器请求与新应用的请求匹配,因此似乎不是问题,请注意 200 状态代码

Started GET "/models/1/edit" for ::1 at 2021-01-18 13:33:22 +1100
Processing by ModelsController#edit as TURBO_STREAM
  Parameters: {"id"=>"1"}
  User Load (0.2ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2  [["id",2],["LIMIT",1]]
  Model Load (0.1ms)  SELECT "models".* FROM "models" WHERE "models"."id" = $1 LIMIT $2  [["id",1],1]]
  ↳ app/controllers/models_controller.rb:15:in `edit'
  Rendering models/edit.haml
  Rendered models/edit.haml (Duration: 1.1ms | Allocations: 1500)
Completed 200 OK in 4ms (Views: 1.3ms | ActiveRecord: 0.3ms | Allocations: 4244)

浏览器

除了状态代码是 304 而不是 200 并且显然没有呈现视图更改之外,浏览器响应似乎是相同的。

enter image description here

重新创建的步骤

  • 现有的 Rails '6.0.3' 应用
  • 更新 Gemfile 以删除 tubolinkswebpacker
  • trash app/javascript
  • trash node_modules/**
  • rails hotwire:install

额外信息

当我运行 rails hotwire:install 时,我收到一条 File unchanged! The supplied flag value not found! app/assets/config/manifest.js 消息 - 我检查了该文件,它与新应用中生成文件相同。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...