ruby - 列出 Rails Controller 实例变量

标签 ruby ruby-on-rails-3 metaprogramming

我试图列出 Controller 中的实例变量但想出了

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

我在 Action 上试了一下

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

那么 Controller 实例变量属于什么?

最佳答案

实例变量属于实例化的 Controller 对象,只有在执行 Action 方法时才会创建。试试这个:

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

关于ruby - 列出 Rails Controller 实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6061489/

相关文章:

c++ - 获取可变参数模板类的第 N 个参数的最简单方法?

ruby - 冒号 ":"和粗箭头 "=>"有什么区别

ruby - 尝试解析文件中的所有 URL,在本例中为远程 URL

ruby-on-rails - 为我的 Rails 应用程序创建自定义配置选项的最佳方式?

ruby-on-rails - 如何在 haml 中转义注释?

mysql - Rails 3,Kaminari - :joins when using paginate 错误

activerecord - 在 Rails 3 和 Rspec 中 stub 链式查询

c++ - QObject 通用信号处理程序

ruby - Git post-receive hook不使用rbenv指定的ruby版本

c++ - 提升 MPL 和_类型