プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Ruby on Rails
  • 【Ruby on Rails】「Flashメッセージ」について
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Ruby on Rails】「Flashメッセージ」について

03.28

  • miyabisan2
  • 2件のコメント

この記事は2分で読めます

Flashメッセージとは?

リダイレクトを表す「redirect_to」で使い、次のリクエスト時に特定のちょっとしたメッセージを渡すことができるRailsが用意している機能です。また、「render」で同じリクエスト内でのメッセージの受け渡しをすることも可能です。

ユーザーに「XXが成功した」、「XXが失敗した」などのお知らせメッセージを表示することができる機能です。

Flashメッセージの仕組み

内部的にはセッションを利用することで実現されています。

データ様式

Hash型のデータになります。

実装方法

リダイレクト時にメッセージを渡す方法

下記のように記述します。

1
redirect_to [任意のURL], notice: "Flashメッセージの内容"

下記のように2行で書き換えることも可能です。

1
2
flash[:notice] = "Flashメッセージの内容"
redirect_to [任意のURL]

レンダー時(同じリクエスト内で)にメッセージを渡す方法

renderを使った同じリクエスト内でもメッセージの受け渡しは可能です。

1
flash.now[:notice] = "メッセージ内容

下記のように書き換えることもできます。

1
flash.now.notice = "メッセージ内容"

nowはレンダリングされた次のページのみ表示されます。次の次のページでは表示されません。

ビュー側

以下のような感じで記述すればメッセージを表示できます。

1
<%= flash[:notice] %>

Flashメッセージのオプション

「notice:」となっているのはFlashのキー(名前)を表しておりデフォルトでは下記のいずれかを選択できます。

  • notice
  • alert
  • success
  • danger

下記のようにすればnoticeやalert以外の任意のキーのFlashメッセージを渡すことが可能になります。

1
redirect_to [任意のURL], flash: [任意のキー: "Flashメッセージ内容"]

二つ先のリクエストにメッセージを伝えるには?

下記のメソッドを使用することで次のリクエストまでメッセージを存続することが可能です。

1
flash.keep

flashが表示される時間を変えるには?

flashメッセージは.alertというクラスが付与されるのでそのクラスに対してjQueryなどでアニメーションなどを設定すれば表示時間などのコントロールをすることは可能です。

スポンサーリンク
  • 2020 03.28
  • miyabisan2
  • 2件のコメント
  • Ruby on Rails
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2019 12.08

    【Ruby on Rails】バージョンアップ対策

  2. 2019 12.01

    【Ruby on Rails】URLの指定方法について(URLヘルパーメソッド等)

  3. 2019 12.08

    【Ruby on Rails】「Turbolinks」によるページ遷移高速化

  4. 2020 11.02

    【Ruby on Rails】「Redis」の基本、Railsへの導入

  5. 2019 11.27

    【Ruby on Rails】RailsにBootstrapを導入する。

  6. 2019 12.02

    【Ruby on Rails】エラー処理の概要

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Ruby on Rails】Active Recor…

【Laravel】「ディレクトリ構成」、「初期設定ファ…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー