在rails应用程序中编写函数,用于输出由全局调试值管理的变量的信息


writing function in rails app for outputting info of variable, file managed by global debug value

我曾经有一个php zend应用程序,它有这样的功能(如果我没记错的话):

function dxa($var, $msg){
  echo "msg:" . $msg . "<br />";
  if(GLOBAL_DEBUG){
    Zend_Debug::dump($var);
  }
}

基本上,这只是输出模型、视图或控制器中的变量。它便于调试。我们总是把它放在自己的行上,在部署之前,我们会运行一个sed脚本来删除任何包含"dxa("的行。基本上,你可以通过GLOBAL_DEBUG变量打开和关闭查看变量,而无需使用xdebug或其他什么。这也可以通过GET param进行管理。在RoR中有这样的方法吗?我认为视图可以是:

视图:

<%=d(@location) %>

application_helper.rb

def d var
  debug(var.to_yaml)
end

想访问模型和控制器,但此格式已关闭。还有其他想法吗?

thx

您可以使用Rails Logger实现该功能。