In the application controller before filter.
class ApplicationController < ActionController::Base
  before_filter :authenticate
  def authenticate
    # How do we know which controller and action was targetted?
  end
end
In the application controller before filter.
class ApplicationController < ActionController::Base
  before_filter :authenticate
  def authenticate
    # How do we know which controller and action was targetted?
  end
end
class ApplicationController < ActionController::Base
  before_filter :authenticate
  def authenticate
    # How do we know which controller and action was targetted?
    params[:controller]
    params[:action]
    # OR
    controller.controller_name
    controller.action_name    
  end
end
 
    
    In Rails 3.2 you no longer need to call controller.action_name explicitly instead just "action_name".
before_filter :check_if_locked
def check_if_locked
  puts action_name
  puts controller_name
end
 
    
    You can get full url object using
url = Rails.application.routes.recognize_path(request.env['PATH_INFO'])
now you can get components as
url[:controller]
url[:action]
By default you can also use params[:controller] and params[:action] respectively during request/response life cycle. 
