LoginSignup
0
0

More than 3 years have passed since last update.

rails 発展その11 コントローラー

Last updated at Posted at 2019-11-12

コントローラーの諸知識の軽いまとめです。

before_action

あるコントローラのすべてのアクションで実行の前に共通の処理を行いたい場合のコード

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

コントローラーの継承 

コントローラーは継承元のコントローラーから内容を継承することが
可能です。継承元にbefore_actionが設定されていれば
それを行ってから現在のコントローラーで処理が実行されます。

controller
   class コントローラ < 継承元のコントローラ
   end

  #  例 

# 継承元

class StoreController < ApplicationController
  before_action :say

  def say
    puts "Hello"
  end
end

# 継承先 sayが実行されてから以下の変数が実行される

 class PetController < StoreController
  def show
    @saru = Saru.find(params[:id])
  end
end

レイアウトファイル

app/views/layouts/の下に入っているHTMLファイルです。
レイアウトファイルはURLにアクセスして対応するコントローラが呼ばれたあと、最初に表示されるHTMLのことです。

コントローラ内でlayout 'レイアウトファイル名'と書くと、そのコントローラでのアクションが呼ばれたあと表示するビューのレイアウトファイルを指定できます。

controller
  class StoreController < ApplicationController
  layout 'レイアウトファイル名'
  # なにも指定しないとレイアウトファイルはapplication.html.erbになります。

  # 例
  layout 'pict'

  # StoreControllerのindexアクションが呼ばれたときに表示されるレイアウトはpict.html.erbとなります。
  def index
  end
end

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