(Rails)全てのviewで使えるインスタンス変数の作成
状況
application_controllerにてインスタンス変数を定義したがうまく引き継がれない
controller
class ApplicationController < ActionController::Base @variable='10' end
原因
コールバック(before_action)をしていなかったため。
実施したこと
メソッドの中に変数を定義した。
よって以下のようになる
controller
class ApplicationController < ActionController::Base before_action :setting private def setting @variable='10' end end
このようにすることで無事格納される。
まとめ
変数を定義する際はメソッドの中に書くのする必要がある。