當我在開發模式下在rails 5.0應用程序頁面上遇到錯誤時,我會收到一個錯誤頁面,其頁面底部有導軌web-console
,如下面的屏幕截圖所示。控制檯似乎對運行發生錯誤的控制器的方法非常有用。在所有頁面上顯示Rails控制檯
是否有可能使它在所有的網頁,所以我可以沒有一個錯誤頁面訪問它?
當我在開發模式下在rails 5.0應用程序頁面上遇到錯誤時,我會收到一個錯誤頁面,其頁面底部有導軌web-console
,如下面的屏幕截圖所示。控制檯似乎對運行發生錯誤的控制器的方法非常有用。在所有頁面上顯示Rails控制檯
是否有可能使它在所有的網頁,所以我可以沒有一個錯誤頁面訪問它?
在網絡控制檯gem page上,它表示您可以在應用程序的任何頁面中手動運行控制檯。該文檔說明如下:
例如,在視圖中調用控制檯將在視圖綁定的上下文中顯示當前頁面中的控制檯。
<% console %>
在控制器調用控制檯將導致在控制器操作的上下文中,控制檯:
class PostsController < ApplicationController
def new
console
@post = Post.new
end
end
該方法在內核中定義並可以調用它任何應用程序代碼。
每個請求只允許一次控制檯調用。如果你碰巧有多個,將會引發WebConsole :: DoubleRenderError。
也許這可以幫助您在要顯示的頁面上調用控制檯。
當我把它放在控制器'未定義的局部變量或方法'控制檯''時出現以下錯誤 –
它對我有用,我在這裏測試過。確保你使用的是這些版本的gem:'webconsole','> = 3.3.0'和'listen','> = 3.0.5' –
爲什麼不在終端中使用'rails c'? –
我個人並沒有在終端上使用太多的「軌道控制檯」。我想要做的是執行'controllers'和'models'中的方法,以便我可以驗證它們是否按預期工作。我試圖將它帶入頁面的原因是,當我在一個屬於'controller'的頁面上時,我可以運行屬於該控制器的'methods'。 –
如果這是專門用於控制器上的測試方法,那麼編寫單元測試會更好。首先用你想要的結果創建測試,然後修改控制器,直到測試通過。它被稱爲測試驅動開發(TDD) –