0
0

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で使えるヘルパーメソッド

Last updated at Posted at 2020-11-08
メソッド 用途
before_action :authenticate_user! コントローラに設定し、ユーザーのみアクセスを許可する。
user_signed_in? ユーザーがログインしているかどうか判定を行う。ユーザーがログインしていればtrueを、ログアウト状態であればfalseを返します。
current_user 現在ログインしているユーザー取得する
user_session ユーザーのセッション情報にアクセスする

##before_action :authenticate_user!
ログイン状態によって表示するページを切り替えるdeviseのメソッド。

class SampleController < ApplicationController
  before_action :authenticate_user!, only: [:show]

  def index
  end

  def show
  end
end

onlyオプションを使うと、showアクションはログイン済みユーザーのみアクセス可能とし、indexアクションはログインしていなくてもアクセスできるようになります。

##user_signed_in?

<% if user_signed_in? %>
  <div class="user_nav grid-6">
    <%= link_to "ログアウト", destroy_user_session_path, method: :delete %>
    <%= link_to "投稿する", new_tweet_path, class: "post" %>
  </div>
<% else %>
    <div class="grid-6">
      <%= link_to "ログイン", new_user_session_path, class: "post" %>
      <%= link_to "新規登録", new_user_registration_path, class: "post" %>
    </div>
<% end %>

サインインしていれば"ログアウト"と"投稿する"のページに、サインインしていなければ"ログイン"と"新規登録"を表示といった記述も可能。

deviseの設定がまだ不慣れなため、備忘録として

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?