2021年4月25日 学習内容
【昨日】
◯ 学習等なし。趣味の自転車で札幌〜余市の往復。
【今日】
◯ オリジナルアプリのユーザー管理機能(新規登録、ログイン、ログアウト)完成。(就活しながらなので中々進まない)
◯ 新たにチャレンジしたり手こずったことは下記の点
① ユーザー新規登録ページにて、エラーメッセージを任意の場所に表示させる。
・ 上部のform_with直下に次の記述
・ ターミナルでbundle install
・ config/application.rbに次の記述
config.i18n.default_locale = :ja
・ config/locales/devise.ja.ymlファイルを作り、そのファイルに次の内容をコピー。
https://github.com/tigrish/devise-i18n/blob/master/rails/locales/ja.yml
・ 上記だけでは足りない部分は、config/locales/ja.ymlファイルを作成し、次の記述
③ パスワードの最低文字数を設定する
・ userモデルに次の記述
devise: varidatable, password_length 8..128
これで最低8文字を入力させるパスワード設定入力設定になる(デフォルトは6文字)
④ ログインのエラーメッセージ
・ 新規登録と同様の記述ではエラ〜メッセージが表示されない。
・ そこで、deviseに格納されているflashメッセージを呼び出す処置をする。
・ app/views/layouts/_flash.html.erbファイルを作り、次の記述
<% flash.each do |key, value| %>
<%= content_tag(:p, value, class: "alert alert-#{key}") %>
<% end %>
・ ログインページに上記部分テンプレートを呼ぶための記述
<%= render partial: 'layouts/flash' %>
⑤ 結合テスト実行で発生したエラー
・ 結論は、rails webpacker:installで解決。
・ なお、webpacとは、webアプリを作成する際に必要となる様々なJavaScriptをひとまとめ
に管理するツールで、webpackerというGemでwebpacをRails仕様にしてファイルやヘルパ
ーメソッドが使えるようになる。