プロジェクト

全般

プロフィール

バグ #704

完了

管理画面ログイン時に Devise の signed_in で Translation missing が表示される

本間 紀史 さんが8日前に追加. 8日前に更新.

ステータス:
却下
優先度:
通常
担当者:
-
開始日:
2026/08/21
期日:
進捗率:

0%

予定工数:

説明

管理画面にアクセスした際、フラッシュ領域に以下が表示された。

Translation missing. Options considered were:
- ja.devise.sessions.administrator.signed_in
- ja.devise.sessions.signed_in

経緯

同じ事象は #674「ログイン時の Devise フラッシュ(signed_in)の Translation missing を非表示化」で対応済み。
config/locales/devise.ja.ymlja.devise.sessions.signed_in: ""(空文字)を定義し、
Devise の set_flash_messagemessage.present? のときだけ flash をセットする性質を利用して
フラッシュ自体を出さない、という方式。

現状の調査結果(task/703 時点 / develop 相当)

ローカル(Docker web コンテナ)で確認した限り、現行コードでは再現しなかった

  • I18n.t("devise.sessions.signed_in")""I18n.exists? も true)
  • Devise 相当の呼び出し I18n.t(:"administrator.signed_in", scope: [:devise, :sessions], default: [:signed_in])""present?false
  • curl で管理者ログイン(/administrators/sign_in)を実行し /admin/admin/orders を取得したが、 レスポンスに Translation missing は含まれず、フラッシュも出ていない

やること

  1. 再現条件の特定(ブラウザでのログイン導線か / 特定の scope(administrator・supplier・user)か / 古いセッションクッキーに残ったフラッシュか / サーバー再起動前の古いプロセスか)
  2. 再現したら恒久対応。空文字による非表示は Devise の present? 依存で壊れやすいため、 scope 別キー(ja.devise.sessions.administrator.signed_in 等)を明示的に定義する方式も検討する
  3. 併せて supplier / user scope でも同様の欠落が出ないか確認する

参考

本間 紀史 さんが8日前に更新

  • ステータス新規 から 却下 に変更

原因が判明したため却下とする。

ブラウザの古いセッションクッキーに残っていたフラッシュが表示されていたもので、現行コードの不具合ではない。
config/locales/devise.ja.ymlja.devise.sessions.signed_in: ""(#674 の対応)は正しく機能しており、
Devise 相当の呼び出しでも空文字に解決され、フラッシュは出ない状態を確認済み。

同様の表示に遭遇した場合は、まずブラウザのクッキー(セッション)を削除して再確認すること。

他の形式にエクスポート: Atom PDF