问题
i was trying to list the instance variables inside a controller but came up with
irb>HomeController.instance_variable_names
=> ["@visible_actions", "@inheritable_attributes", "@controller_path", "@action_methods", "@_process_action_callbacks"]
and I tried it on the action
irb>HomeController.action("index").instance_variable_names
=> []
so what do controller Instance variables belong to?
回答1:
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", ...
来源:https://stackoverflow.com/questions/6061489/list-rails-controller-instance-variables