2011-05-19 10 views
9

yo estaba tratando de enumerar las variables de instancia dentro de un controlador, pero se le ocurriólista Rieles variables de instancia del controlador

irb>HomeController.instance_variable_names 
=> ["@visible_actions", "@inheritable_attributes", "@controller_path", "@action_methods", "@_process_action_callbacks"] 

y lo probé en la acción

irb>HomeController.action("index").instance_variable_names 
=> [] 

Entonces, ¿qué variables de instancia del controlador ¿pertenece a?

Respuesta

10

Las variables de instancia pertenecen al objeto del controlador instanciado, y solo se crean cuando se ha ejecutado el método de acción. Pruebe esto:

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

ah !, ok, duh: face_palm, gracias – jtzero

Cuestiones relacionadas