Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.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 在视图中嵌入live Rails控制台_Ruby On Rails - Fatal编程技术网

Ruby on rails 在视图中嵌入live Rails控制台

Ruby on rails 在视图中嵌入live Rails控制台,ruby-on-rails,Ruby On Rails,最近,我一直在使用better_errors gem,我发现live shell功能(基本上是嵌入在视图中的Rails控制台)非常有用。我希望能够访问这种类型的live shell,即使在没有错误的情况下,也可以将其用于调试/诊断目的。这将是一个伟大的东西嵌入到我的应用程序控制器,并限制管理员访问,以便我可以使用它在一个登台或prod服务器环境 是否有其他类似的工具,或者可能有一种方法可以将live shell从更好的错误中剥离出来并嵌入到我的视图中?您看过了吗?从技术上讲,它不像better_

最近,我一直在使用better_errors gem,我发现live shell功能(基本上是嵌入在视图中的Rails控制台)非常有用。我希望能够访问这种类型的live shell,即使在没有错误的情况下,也可以将其用于调试/诊断目的。这将是一个伟大的东西嵌入到我的应用程序控制器,并限制管理员访问,以便我可以使用它在一个登台或prod服务器环境

是否有其他类似的工具,或者可能有一种方法可以将live shell从更好的错误中剥离出来并嵌入到我的视图中?

您看过了吗?从技术上讲,它不像better_errors那样在浏览器中打开控制台,但它的功能是相同的。基本上,您只需添加
binding.pry
代码中的任何地方,甚至在视图中,在代码中创建一个断点,让您在该时间点运行任何您想要的东西

还有一个关于如何使用它的railscast

作为替代方案,您应该能够在代码中的任何地方抛出一个错误,这将在代码中的该点显示更好的错误页面


除了打开控制台之外,我不确定在登台/生产中有什么方法可以做到这一点。无论如何,您可能永远都不想在生产环境中提供对代码的访问权限。此时,任何可以访问该页面的人都可以完全访问数据库。即使仅限于开发人员,这似乎也是一种潜在的安全风险。

您看过代码了吗?我想这可能是
repl
部分。是的,我一直在使用pry,我一直抛出虚假错误,只是为了让更好的错误弹出。关于安全风险,您肯定是对的,但根据应用程序(例如内部公司应用程序)的不同,这可能不是一件坏事。