In appllication controller i have couple of methods that works with requested controller and action name.
To follow DRY principe, i want to define share variables with those params.
class ApplicationController < ActionController::Base
@@requested_action = params[:action]
@@requested_controller = params[:controller]
end
But i get error: undefined local variable or method "params" for ApplicationController:Class
Why i can’t do this and how can i achieve my goal?
I believe you already have
controller_nameandaction_namevariables defined by Rails for this purpose.If you want to do it by your way, you must define it as a before filter as params comes to existence only after the request is made. You can do something like this
You can access them as @controller_name and @action_name. But
controller_nameandaction_nameare already defined in Rails. You can use them directly.