概要 通常 Rails の flash メッセージは、アクションごとに HTML をレンダリングする場合にしか使用できません。 Rails 側の各アクションで flash メッセージの設定を行う必要があるからです。 つまり、Ajax 通信が終了 (complete) した際に flash メッセージを表示する手段は、デフォルトでは用意されていません。 一応、サーバ側で flash メッセージを表示するための JavaScript を用意して、それをレスポンスとして返すなどの方法はあります。 それでも Ajax 通信 (JSON リクエスト) でも flash メッセージを表示したいよぉ! というわけでその方法を調べてみました。 方法 Rails 側ではレスポンスヘッダ ('X-' で始まるカスタムヘッダ) に flash メッセージを格納してレスポンスを返します。 そして、JavaScri
![Ajax でも Rails の flash メッセージを表示したい! - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/537e8c409e93b82bf16e26a7e21b20b390c187a2/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9QWpheCUyMCVFMyU4MSVBNyVFMyU4MiU4MiUyMFJhaWxzJTIwJUUzJTgxJUFFJTIwZmxhc2glMjAlRTMlODMlQTElRTMlODMlODMlRTMlODIlQkIlRTMlODMlQkMlRTMlODIlQjglRTMlODIlOTIlRTglQTElQTglRTclQTQlQkElRTMlODElOTclRTMlODElOUYlRTMlODElODQlRUYlQkMlODEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWZjOWQ0MWJlZmYwZDNmYjliZmZhYTEwMWY2YmI1NWQ1%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwUVVBTk9OJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1jYzMxZDlhZTA4MDExNThlYWI2Y2U0ZjViMzhkNDc4NQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dd0de054a8dc8f89cc7d71ee742756404)