Ruby on rails RubyonRails:如何显示变量然后退出?

Ruby on rails RubyonRails:如何显示变量然后退出?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我仍在开发与Steam API交互的小应用程序。我正在摆弄Nokogiri和regexp等东西,我想在停止脚本之前输出某个变量。这是在一个无视图操作中,在该过程结束时,用户将被重定向到另一个具有视图的操作 我尝试了put然后exit,但Apache挂起,我必须手动重新启动它。因为大多数时候我都想在循环中显示变量,所以我不想让脚本的其余部分继续。有没有一种方法可以直接显示变量的内容并终止控制器的脚本执行?如果不可能,我可以在终止脚本之前记录变量的内容,而不是输出它。由于您使用的是Rails,我建议

我仍在开发与Steam API交互的小应用程序。我正在摆弄Nokogiri和regexp等东西,我想在停止脚本之前输出某个变量。这是在一个无视图操作中,在该过程结束时,用户将被重定向到另一个具有视图的操作


我尝试了
put
然后
exit
,但Apache挂起,我必须手动重新启动它。因为大多数时候我都想在循环中显示变量,所以我不想让脚本的其余部分继续。有没有一种方法可以直接显示变量的内容并终止控制器的脚本执行?如果不可能,我可以在终止脚本之前记录变量的内容,而不是输出它。

由于您使用的是Rails,我建议使用将内容打印到服务器的同步输出和日志文件中(在
log/development.log
或您使用的任何环境中)。此时,如果您想完成控制器操作,您可以继续执行您计划的重定向,或者缩短它,只需
呈现nothing:true
,这样您就不会从下一个操作中获得输出


您还可以暂停执行,并使用类似的方法来挖掘变量。

由于您使用的是Rails,我建议您使用将内容打印到服务器的同步输出和日志文件中(在
log/development.log
中,或您使用的任何环境中)。此时,如果您想完成控制器操作,您可以继续执行您计划的重定向,或者缩短它,只需
呈现nothing:true
,这样您就不会从下一个操作中获得输出


您还可以暂停执行,并使用类似于的方法来挖掘变量。

请简要描述一下您的环境好吗?您是否在Apache服务器后面运行一个或多个精简实例?首先,您很少(如果有的话)希望手动退出Rails。控制器中的情况与模型或视图中的情况一样。当您这样做时,您的Apache反向代理挂起也就不足为奇了。事实上,我期望的正是这种行为,因为您已经终止了Apache希望将请求转交给的进程,并且请求被阻止。这就是为什么它会挂起来@kristjan在下面的回答或多或少涵盖了检查控制器内变量的两个主要选项。请简要描述一下您的环境好吗?您是否在Apache服务器后面运行一个或多个精简实例?首先,您很少(如果有的话)希望手动退出Rails。控制器中的情况与模型或视图中的情况一样。当您这样做时,您的Apache反向代理挂起也就不足为奇了。事实上,我期望的正是这种行为,因为您已经终止了Apache希望将请求转交给的进程,并且请求被阻止。这就是为什么它会挂起来@kristjan在下面的回答或多或少涵盖了检查控制器内变量的两个主要选项。我尝试过使用
logger.debug
,效果很好,但是
render nothing:true
不会停止执行,因此如果下面的代码导致异常,我仍然会得到异常。没什么大不了的,只是它让日志更难阅读。是否有一种干净的方法来停止执行?
render
仅设置HTTP响应。如果您想跳过其余操作,请使用
return
或其他控制流逻辑,就像在其他任何地方一样。我不知道为什么我没有想到
return
,谢谢您的提醒!我尝试使用了
logger.debug
,效果很好,但是
render nothing:true
不会停止执行,因此如果下面有代码导致异常,我仍然会得到异常。没什么大不了的,只是它让日志更难阅读。是否有一种干净的方法来停止执行?
render
仅设置HTTP响应。如果您想跳过其余操作,请使用
return
或其他控制流逻辑,就像在其他任何地方一样。我不知道为什么我没有想到
return
,谢谢您的提醒!