i was trying to list the instance variables inside a controller but came up with
irb>HomeController.instance_variable_names
=> [\"@visible_actions\", \"@in
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", ...