ユーザー情報を登録してもらう準備まで

今週から応用カリキュラムに入っていますが、

いや〜、全く進まない。笑えるくらい。

読んでも読んでも正直全然わからない。

静寂の中だとキツイので、youtube見ながら今日は勉強してました。

でも見ない時より進むという。今日のコンディションはそんなもんと諦めて、

早速アウトプットしていきます。

 

①ログイン機能のライブラリをダウンロード

便利な世の中ですね!

「ログイン機能」自体がパック詰されてるなんて。

覚えたらめちゃくちゃ簡単ですよね!

使いこなすまでが難しいんですけど!

このパック、プログラミング界ではライブラリ、railsではgemと呼ぶ。

「devise」というgem

gemのインストール方法含めておさらい

 

gemfile に使うgemを記載 「gem 'devise'」(最終行)

ターミナルで bundke installを実行し、今の状態のgemfileをインストール

rails s でサーバーを再起動させて、インストール後の状態を繁栄

rails devise:install   この状態になったらようやくdeviseをアプリケーションにインストール (これすっごい忘れそう。bundle installでインストールした気にすっごいなる)

これでdeviseをアプリに導入できました

 

②ユーザー情報のデータベースを作る

アプリケーションにユーザー情報を入れておく箱を作る段階。

モデル作ってマイグレーションのファイル作って・・・・・。

っていうのをぜーんぶしてくるのが

rails g devise user」

 

これでuserに必要な

マイグレーションファイル

・modelファイル

・ルーティングの設定

を一度に行うことができる。便利!

 

あとは「rails db:migrate」

を実行すれば自動で作ってくれたファイルがデータベースに反映される。

 

これでユーザー登録するための箱、入れ物をアプリケーションに作れたってことですね。うまく行っていれば、squel pro で userが作られているはず。

 

③ビューファイルを作る

rails devise g views]

これだけでOK。効率的ですね。

これだけでログインのビューファイル、新規登録ビューファイル

全部作ってくれます。

 

④データベースにカラムを加える

rails g migration AddNamesToUsers」で加える。

でここの基礎は変わらないですが、AddNamesToUsersの部分が新しい知識。

 

これでひと段落・・・・と思いきやもう一息。

このままだとユーザーに何を送られてくるかわかったものじゃありません。

なんでも送られてきちゃいます。

そんなことにならないようにストロングパラメーター(requireメソッドとかpermitメソッド)を使いたい。

でもdeviseのコントローラーはいじれないみたいです。

ここで1つ覚えなきゃいけないのはgem内のものはいじれない!!こと

 

⑤application_controllerでストロングパラメーターを使う!

application_controllerはコントローラーで一番優先されるコントローラー。

ここに以下を記載

private def configure_permitted_parameters # メソッド名は慣習 # deviseのUserモデルにパラメーターを許可 devise_parameter_sanitizer.permit(:deviseの処理名, keys: [:許可するキー]) end

これで導入終わり!

 

次はマイページをつくる!