Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ユーザ登録機能の実装(deviseを使用して説明)ビュー作成〜

Posted at

##ビューの作成##
deviseインストールからuserモデル作成までは下記の記事にて書かせていただきました。

今回はビューの作成を行います。

deviseでログイン機能を実装すると、ログイン/サインアップ画面が自動的に生成されます。
しかし、ビューはファイルは生成されていません。
なので、コマンドでビューファイルを生成します。

ターミナル .
rails g devise:views

ビューファイルが生成されました。
サインアップのビュー
app/views/devise/registrations/new.html.erb

ログインのビュー
app/views/devise/sessions/new.html.erb

##コントローラーについて##

ビューファイルができ、前記事でモデルを作成し、ルーティングの自動で生成される事を確認しました。
残るはコントローラーです。

deviseのコントローラーはGem内に記述されているため、編集することができません。
そのため、applicationコントローラーで記述します。
applicationコントローラーはコントローラー内での頂点です。全てはここから始まります。(言い切ってはいけない)

全てのコントローラーの1行目には下記が記述されています。

controller.rb
class HogeController < ApplicationController

applicationコントローラーでストロングパラメーターを設定します。

app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?

  private
  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname, :birth_day])
  end
end

1つづつ確認していきます

.rb
before_action :configure_permitted_parameters, if: :devise_controller?

before_actionで全てのコントローラーの前に動き、またif: :devise_contoroller?でdeviseにまつわる事が起きたときに作動します。

private
  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname, :birth_day])
  end
end

deviseにおけるストロングパラメーターです。deviseの「ログイン」「新規登録」などのリクエストからパラメーターを取得できます。

このメソッドとpermitメソッドを組み合わせることにより、deviseに定義されているストロングパラメーターに対し、追加したカラムも含めることができます。(email,passwordはすでに定義されているため)

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Comments

No comments

Let's comment your feelings that are more than good

0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Login to continue?

Login or Sign up with social account

Login or Sign up with your email address