list Rails controller instance variables

You can also call self.instance_variable_names directly from the controller code and then see them in logs.

class ProfilesController < ApplicationController
  ...
  def update
    logger.info("List of instance vars: #{self.instance_variable_names}")
    ...
  end
end

The instance variables belong to the instantiated controller object, and are only created when the action method has executed. Try this:

irb>instantiated_controller = HomeController.new
irb>instantiated_controller.index
irb>instantiated_controller.instance_variable_names
=> ["@_status", "@_headers", ...