#概要
基本Railsの記法に則り書いていきます!
1から全ての説明ではなく
その中であれ?どうやるの?と
疑問に思った点や実装に困った箇所を
ピックアップして紹介していきます♩
#設定と準備
・Rails
・HTML
・CSS
・Javascript(jQuery)
↑上記の言語とフレームワークを使い
架空(自分で考えたテキトーなもの)のCafeの
HPを作っていこうと思います!
#11日目の作業内容
・ビューの作成(deviseのデフォルト画面をレイアウト)
#11日目の気になった箇所
deviseのsign up画面ではエラーメッセージが表示されるのに
sign in画面ではエラーメッセージが表示されない。
#仮説
deviseにはデフォルトでエラーメッセージを表示させるための
shared/_error_messages.html.erbというファイルが存在するため、
renderでそのファイルを呼び出せば表示できるのではないか。
sign up画面の場合
<%= render "/shared/error_messages" %>
と記述することでエラーメッセージの表示に成功できたので
同じようにようにsign in画面でも
<%= render "/shared/error_messages" %>
とすれば表示されるのではないかと思ったが表示されなかった。
#結論
sign in画面では違う記述の仕方でなければ
エラーメッセージの表示ができないことがわかった。
<%= flash[:notice] %>
<%= flash[:alert] %>
上記の記述をエラーメッセージを表示させたい箇所に追加することで
可能となる。
flashとはRailsでようされているオブジェクトのことらしい。
一時的にメッセージを表示してくれる機能のようなものらしいです。
これでエラーメッセージの表示には成功!
補足になりますがdevise.ja.ymlを導入し
日本語でエラーメッセージを表示させる方法をとられている方は
ja:
devise:
failure:
not_found_in_database: "%{authentication_keys}またはパスワードが違います。"
こちらの箇所を変更するとsign in画面でのエラーメッセージ内容を変更できるので
お試しください!