(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

このようにすることで無事格納される。

まとめ

変数を定義する際はメソッドの中に書くのする必要がある。