3

新しい Rails 7 アプリ [rails new devisetest]、静的ページと追加されたデバイス [gem 'devise' + rails g devise user] を備えたシンプルなコントローラーがあります。すべてのデフォルト。デバイスの指示に従って、application.html.erb に追加された Flash メッセージ

Devise エラー メッセージは表示されていませんが、コンソールで生成されていることがわかります (または、少なくとも、レンダリングされたメッセージは表示されますが、表示されず、_links パーシャルがレンダリングされて表示されます) 別のテストでクイック scaffold を使用して (デバイス ビューをアプリにコピーしたが変更はしていない)、フラッシュ メッセージは scaffold に対して表示されますが、devise に対しては表示されません。

http://localhost:3000/users/sign_up にアクセスして、短すぎるパスワードでユーザーを作成すると、ログにこれが表示されます

Started POST "/users" for ::1 at 2021-12-24 08:02:10 +0000
Processing by Devise::RegistrationsController#create as TURBO_STREAM
  Parameters: {"authenticity_token"=>"[FILTERED]", "user"=>{"email"=>"asdf@asdf.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"}
  TRANSACTION (0.1ms)  begin transaction
  User Exists? (2.7ms)  SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ?  [["email", "asdf@asdf.com"], ["LIMIT", 1]]
  TRANSACTION (0.2ms)  rollback transaction
  Rendering layout layouts/application.html.erb
  Rendering /home/sroot/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/devise-4.8.1/app/views/devise/registrations/new.html.erb within layouts/application
  Rendered /home/sroot/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/devise-4.8.1/app/views/devise/shared/_error_messages.html.erb (Duration: 0.7ms | Allocations: 582)
  Rendered /home/sroot/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/devise-4.8.1/app/views/devise/shared/_links.html.erb (Duration: 0.2ms | Allocations: 92)
  Rendered /home/sroot/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/devise-4.8.1/app/views/devise/registrations/new.html.erb within layouts/application (Duration: 3.9ms | Allocations: 2199)
  Rendered layout layouts/application.html.erb (Duration: 77.5ms | Allocations: 4429)
Completed 200 OK in 473ms (Views: 78.7ms | ActiveRecord: 3.1ms | Allocations: 15288)

エラー メッセージを表示するビュー。 デバイスのリンクは表示されますが、フラッシュ メッセージは表示されません

誰でも私の間違いを指摘できますか?または、エラーに近づくために従うことができる他の手順を提案してください。

ありがとう

4

2 に答える 2