10000hの技術メモ

この先生きのこるための勉強内容&時間記録

Ruby on Rails Ⅴ 2章 deviseを活用しよう

201703012@home Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]

目次

ログイン必須ページをつくろう

未ログインユーザがnotesコントローラのnewアクションなどにアクセスしようとしたときに、ログインページにリダイレクトさせる。

コントローラで`before_action :authenticate_user!```すると、そのコントローラの全アクションへのアクセスを、ログイン済ユーザに制限できる。

また、deviseではフラッシュメッセージを自動生成してくれる。

ログイン前後で表示を切り替えよう

ログイン前後でヘッダーの表示を切り替えつつ、deviseで生成されるルーティングを学習しよう。

current_userヘルパー

よく使う。

deviseの処理を見てみよう

パスワードは暗号化されてusersテーブルのencrypted_passwordカラムに保存される。

rails console
> User.last

で「確かに暗号化されてるねぇ」でレッスン終了。

deviseをカスタマイズしよう

deviseのビューをカスタマイズするには、rails g devise:viewsでカスタマイズ用のビューファイルを生成する必要がある。

deviseとコントローラを使いわけよう

このままだとdeviseの新規登録画面と、Ⅳでscaffold使って作った新規登録画面が両方存在していて良くない。deviseの新規登録画面のみ使うよう、不要なアクションを消していく。

resourcesで生成されるルーティングを制限

routes.rbのresourcesの第二引数に「only」を使うと、生成するルーティングを制限することができる。(最初から要らないものは作らない、ということ?)

それはわかったものの、作る時の設計とか大変そう。

今回の勉強時間:40分 累計勉強時間:12時間22分