4月24日(土)②

 

7つのアクションのうちのshow

 

show 詳細表示

before_action コントローラーで定義されたアクションが実行される前に共通の処理を行うことができる。

class コントローラ名 < ApplicationController
  before_action :処理させたいメソッド名

 

devise

  • deviseとはユーザー管理機能を簡単に実装するためのGemである。

 

rails g devise:installコマンド

追加したdeviseの「設定関連に使用するファイル」を自動で生成するコマンド

 

rails g deviseコマンド

deviseによるユーザー機能の対象を指定することで、モデルとマイグレーションの生成やルーティングの設定などをまとめて処理します。

rails g devise:viewsコマンド

deviseに用意されたビューファイルをコピーし、app/viewsの配下に配置してくれるコマンド

rails g devise:views

 

スネークケースとキャラメルケース

・スネークケースは単語の区切りをアンダースコアで表す。

・キャラメルケースは単語の区切りを大文字で表す。

 

maxlengthオプション

text_fieldにつけることができるオプション。入力できる最大文字数を指定できる。

<div class="field">
  <%= f.text_field :nickname, autofocus: true, maxlength: "6" %>
</div>

 

devise_parameter_sanitizerメソッド

deviseにおけるparamsのようなメソッド。deviseのUserモデルに関わる「ログイン」、新規登録などのリクエストからパラメーターを取得できる。

 

 

処理名 役割
:sign_in サインイン(ログイン)の処理を行うとき
:sign_up サインアップ(新規登録)の処理を行うとき
:account_update アカウント情報更新の処理を行うとき

 

user_signed_in?メソッド

Gemのdeviseを導入しているため使用できるメソッド

ログインをしているかどうか判断するときに使用する。

 

unless

ifと同様に、条件式の返り値で条件分岐して処理を実行するRuby構文。

if構文の反対であると理解する。

 

redirect_toメソッド

railsでダイレクト処理を行う際に使用するメソッド

例】redirect_to
1
redirect_to action: :リダイレクト先となるアクション名

 

 

exceptオプション

before_actionで使用できるオプション。