Ruby on Rails のdevise gem を使ったユーザー登録機能の実装

今日はRailsのユーザー登録実装について。

少しずつ理解できてきたので復習。

(あくまで私が練習している途中を思い出しているので、手順など異なることもあります。というかなんなら間違ってますのでご容赦ください)

 

新規アプリを実装したとして仮定してgemの導入まですっ飛ばす。

そこからの手順としては

1、devise gemの導入

2、deviseのインストール

3、devise用モデルの作成

4、テーブルの作成

5、新規登録、ログインの画面作成の為、viewsファイルにそのビューファイルを作成

6、(トップページヘッダーにログイン機能をつけるとして)新規登録、ログインのリンクが、ログイン中は代わりにログアウトのリンクが出る様にviews/layoutのapplication.html.erbのyeildメソッドを使っているファイルのヘッダー部にif user_sign_in?構文を使い記述

 

7、新規登録時にデフォルトであるメールやパスワード以外に名前や他のパラメーターも登録する場合はragistrationsディレクトリのnew.html.erbに追加記述

8、コントローラーに記述(ただしdeviseのコントローラーに記述はできないので、共通のapplication_controller.rbに記述)

 

 

6________________________________

<% if user_signed_in? %>

  <%= link_to "新規登録", (Prefix名)_path, method: :get %>

  <%= link_to "ログイン", (Prefix名)_path, method: :get %>

<% else %>

  <%= link_to "ログアウト", (Prefix名)_path, method: :delete %>

<% end %>

___________________________________________________________________________

 

8_________________________________________________________________________

class ~~~

  before_action :configure_permitted_parameters, if: :devise_controller?

 

  private

  def configure_permitted_parameters

    devise_parameter_sanitizer.permit(:sign_up, keys: [:(追加するカラム)])

  end

end

___________________________________________________________________________

 

あってるかな?

 

<自己添削での間違い部分>

・6の新規作成とログインのHTTPメソッド不要だった。

・7ではカラムへのパラメーター追加(マイグレーションファイル編集)も必要

・8の後にはバリデーションが必要

 

他にもありそうだけど…自己採点ではこんなもんかな

理屈より書いて覚えるのがプログラミングの勉強の真骨頂なんだろうな。

 

本当はAWSなども興味あるので勉強して載せようかとも思ったけど、まずは一つの言語に集中した方が良いかと思ったので、今後も基本Railsでいこうと思う。

 

でも、最近思うのは…1日の時間がもっとほしーー!

プログラミングを勉強しているとあっという間に時間が過ぎていく(T . T)

 

とりあえず、週2回、なるべく水、日にブログに何か書いていこうと思う。

さて、次の勉強をしよう。