devise4
やった事
- ユーザーページにページネーション
- 日本語化
日本語化
devise-i18n/ja.yml at master · tigrish/devise-i18n
【Rails】i18nでdeviseのビューを日本語にする
-
Gemfileにgem 'devise-i18n’を記述しインストール。
-
rails g devise:views
で作成したものを削除。
rails g devise:i18n:views -v registrations
で作成し直した。
config/application.rb
に下記を記述。
config.i18n.default_locale = :ja
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
</div>
- usersのviewは全部日本語化した
カラム名の日本語化の方法>
<モデル名とconfig/locales/translation_ja.yml
に追記して日本語化した。
他にもやり方がある様だけど、このやり方が一般的の様。
第16回: Devise によるユーザー認証機能の日本語化(2) - Ruby on Rails 3.0 日記 - Ruby on Rails with OIAX
パスワード再設定メールの設定
-
まず送信メールを確認出来る様にした
y_method = :letter_opener_web
やっぱりREAD MEだけでは理解出来ないので下記を参考にした!
【Rails】letter_opener_webを用いて開発環境で送信したメールを確認する方法|TechTechMedia -
この状態でパスワード再設定をしてみたら無事送信(されるはずの)メールが確認出来た。
その他
app/views/users/show.html.erb
<% if current_user == @user %>
current_userという今ログインしているユーザーを確認出来るhelperがある!
Devise復習
-
confirmable
は、確認のためのメールを送信し、サインイン時にアカウントがすでに確認されているかどうかを確認する機能。 -
Routes.rb
にルートパスを設定して、サインインやログアウト後のリダイレクト先にしたが、after_sign_in_path_for
after_sign_out_path_for
メソッドで細かく設定する事もできるみたい。
マイグレーションファイルの書き方
【Rails】 マイグレーションファイルを徹底解説! | Pikawaka
db/migrate/20221003041716_devise_create_users.rb
の下記の記述について
add_index :email, unique: true
add_index :users, :reset_password_token
カラムに一意性規約のバリデーションをかけるときにはインデックスを設定しておくのが一般的です。
なぜなら一意(すでに使われていないか)を調べるにはカラムの値を検索する必要があるからです。
との事だった!覚えておきたい!