LoginSignup
0
3

More than 5 years have passed since last update.

rails5 includeメソッドとSessionshelperについて

Last updated at Posted at 2018-12-21

【includeメソッドとSessionshelperについて】

logged_in?メソッドを使った時に、
「なぜSessionsHelperで定義したlogged_in?メソッドを、UsersControllerで使えるのかな?」という疑問が湧いたので調べてみました。

「UsersControllerはapplicationControllerを継承してるけど、SessionsHelperは継承してないから使えないんじゃないの?」と思い、UsersControllerでを見ると、

class UsersController < ApplicationController

やっぱりSessionsHelperは無い。

ですが、ApplicationControllerを見に行くと、

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception
  include SessionsHelper

ApplicationControllerの中に、【include SessionsHelper】と書いてある。

「これはSessionsHelperのメソッドも使えるよう拡張していますよ」という意味。

だからUsersControllerでもSessionsHelperのメソッドが使えるということだった。

「どのページでも使うようなメソッドはSessionsHelperに書くことが多いよ」と聞いたことがありましたが、その意味が理解出来ました。

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