appllicationコントローラには、要求されたコントローラとアクション名で動作する2つのメソッドがあります。ApplicationControllerのparams値を持つクラス変数
DRY principeに従うには、これらのパラメータで共有変数を定義する必要があります。
class ApplicationController < ActionController::Base
@@requested_action = params[:action]
@@requested_controller = params[:controller]
end
しかし、私はエラーを取得:私はこれを行うことはできませんし、どのように私は私の目標を達成することができundefined local variable or method "params" for ApplicationController:Class
なぜ?
Cool!私は彼らがすでに何を設定しているのか分からない。ありがとう! –
ありがとうございます。 Rails 4.2.1でのテスト、ApplicationControllerのbefore_filterの外では、controller_nameは "application"です。 action_nameとparamsは存在しません。 before_filterの中で、controller_nameはロードされているコントローラに対応し、他の2つも設定されています。したがって、要求がなされるまで存在しないparamsに関するコメントはまだ有効です。 –