Обновление Rails до Hotwire дает 304

#ruby-on-rails #hotwire-rails

#ruby-on-rails #hotwire-rails

Вопрос:

Я обновил приложение Rails ‘6.0.3’ для использования hotwire-rails вместо turbolinks и получаю 304 для ответа без обновления представления в turbo_frame_tag

Я создал новое приложение Rails с нуля и успешно внедрил hotwire, поэтому я предполагаю, что проблема связана с остаточным 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], ["LIMIT", 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, и, очевидно, никаких изменений в представлении не отображается.

введите описание изображения здесь

Шаги по воссозданию

  • Существующее приложение Rails ‘6.0.3’
  • Обновите Gemfile, чтобы удалить tubolinks и webpacker
  • 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 сообщение — я проверил файл, и он идентичен тому, который был создан в новом приложении.

Комментарии:

1. Привет @vladiim, у вас есть репозиторий для отладки?