Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails <;%=调试(控制器)%>;产生不可读的输出_Ruby On Rails_Ruby_Debugging - Fatal编程技术网

Ruby on rails <;%=调试(控制器)%>;产生不可读的输出

Ruby on rails <;%=调试(控制器)%>;产生不可读的输出,ruby-on-rails,ruby,debugging,Ruby On Rails,Ruby,Debugging,在我的一个模板中,我想使用debug()帮助器仔细查看控制器对象 据说可以产生适合HTML输出的YAML 然而,运行不会产生任何我称之为可读的东西 首先是: #<ClubsController:0x104467378 @_request=#<ActionController::Request:0x104467648 @accepts=[#<Mime::Type:0x101f50f30 @synonyms=["application/xhtml+xml"], 有什么是不可读的?

在我的一个模板中,我想使用debug()帮助器仔细查看控制器对象

据说可以产生适合HTML输出的YAML

然而,运行不会产生任何我称之为可读的东西

首先是:

#<ClubsController:0x104467378 @_request=#<ActionController::Request:0x104467648 @accepts=[#<Mime::Type:0x101f50f30 @synonyms=["application/xhtml+xml"],

有什么是不可读的?这是标准的ruby检查语法。。。如果您真的需要“更具可读性”的东西,那么您必须在控制器上编写一个方法(很可能是暂时的),该方法只是以另一种格式公开它的实例变量


如果您注意到您希望在控制器实例中看到的内容,可能会有所帮助。

有什么是不可读的?这是标准的ruby检查语法。。。如果您真的需要“更具可读性”的东西,那么您必须在控制器上编写一个方法(很可能是暂时的),该方法只是以另一种格式公开它的实例变量


如果您注意到希望在控制器实例中看到的内容,可能会有所帮助。

调试帮助程序主要用于提供
to_yaml
实现的对象(例如ActiveRecord模型)。如果传递的对象没有响应
到\u yaml
(在您的示例中传递控制器对象的情况就是如此)然后,
debug
为您提供对该对象调用
inspect
的结果。

调试帮助程序主要用于为_yaml提供
实现的对象(如ActiveRecord模型)。如果传递的对象没有响应
to_yaml
(就像在您的示例中传递控制器对象一样),则
debug
会给出调用该对象的
inspect
的结果。

我看到您的注释@thenduks-answer

实际上有一种方法:

controller.controller_name

返回控制器的名称。

我看到了您的评论@thenduks答案

实际上有一种方法:

controller.controller_name

返回控制器名称。

我想在操作名称旁边显示当前控制器名称。action名称在controller.action\u name中可用,所以我想我可以使用debug()查看是否可以在控制器中找到保存该名称的属性。那么问题出在哪里?查看该输出(或者更好的是,查看ActionController文档)以查找正确的方法名称,然后只需执行
或其他任何操作即可。我想在操作名称旁边显示当前控制器名称。action名称在controller.action\u name中可用,所以我想我可以使用debug()查看是否可以在控制器中找到保存该名称的属性。那么问题出在哪里?查看该输出(或者更好的是,通过ActionController文档)以查找正确的方法名称,然后只需执行
或其他任何操作即可。谢谢。正是我想要的。刚刚在文档中找到了关于它的页面。谢谢。正是我想要的。刚刚在文档中找到了关于它的页面。