【问题标题】:Show Rails Console on all the pages在所有页面上显示 Rails 控制台
【发布时间】:2017-06-11 02:01:31
【问题描述】:

当我在开发模式下在 rails 5.0 应用程序页面上遇到错误时,我会收到一个错误页面,页面底部带有 rails web-console,如下面的屏幕截图所示。控制台似乎对于运行发生错误的控制器的方法非常有用。

是否可以在所有页面上启用它,以便我可以在没有错误页面的情况下访问它?

【问题讨论】:

  • 为什么不在终端中直接使用rails c
  • 就个人而言,我在终端上使用的rails console 不多。我要做的是执行controllersmodels 中的方法,以便我可以验证它们是否按预期工作。我试图将其带到页面的原因是,当我在属于controller 的页面上时,我可以运行属于该控制器的methods
  • 如果这是专门用于控制器上的测试方法,那么最好编写单元测试。首先使用您想要的结果创建测试,然后修改控制器直到测试通过。这称为测试驱动开发 (TDD)

标签: ruby-on-rails ruby-on-rails-5 rails-console


【解决方案1】:

在 web-console gem page 上,它说您可以在应用程序的任何页面中手动运行控制台。文档说明如下:

例如,在视图中调用控制台将在视图绑定的上下文中显示当前页面中的控制台。

 <% console %>

在控制器中调用控制台将在控制器操作的上下文中产生一个控制台:

class PostsController < ApplicationController
  def new
    console
    @post = Post.new
  end
end

该方法在内核中定义,您可以在任何应用程序代码中调用它。

每个请求只允许一次控制台调用。如果您碰巧有多个,则会引发 WebConsole::DoubleRenderError。

也许这会帮助您在希望它出现的页面上调用控制台。

【讨论】:

  • 当我将它放入控制器undefined local variable or method console' ` 时出现以下错误
  • 它对我有用,我在这里测试过。确保您使用的是这些版本的 gem:'webconsole', '>= 3.3.0' 和 'listen', '>=3.0.5'
猜你喜欢
  • 2015-11-07
  • 1970-01-01
  • 2022-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-16
  • 1970-01-01
  • 2020-08-24
相关资源
最近更新 更多