2017-01-25 12 views
0

開発モード中にレール5.0のアプリケーションページでエラーが発生すると、ページの下部にレールのエラーページが表示されます(下のスクリーンショットのように)。コンソールは、エラーが発生したコントローラのメソッドを実行するのに非常に便利です。すべてのページにRailsコンソールを表示する

Sample console

それは私がエラーページなしでアクセスできるようにすべてのページにそれを有効にすることは可能ですか?

+1

ターミナルで 'rails c'を使うだけではどうですか? –

+0

個人的に私はターミナルで多くの 'rails console 'を使っていません。私がしようとしているのは、 'コントローラ'と 'モデル'の中にあるメソッドを実行して、それらが期待どおりに動作していることを確認することです。私がそれをページに持って来ようとしているのは、私が「コントローラ」の一部であるページにいるときに、そのコントローラの一部である 'メソッド'を実行できるということです。 –

+0

これは特にコントローラ上のメソッドをテストするためのものであれば、単体テストを書く方が良いでしょう。最初にテスト結果を作成し、テストが合格するまでコントローラを修正します。テスト駆動型開発(TDD) –

答えて

1

Webコンソールの宝箱pageには、アプリケーションの任意のページでコンソールを手動で実行できると記載されています。ドキュメントでは次のように書かれています。

たとえば、ビューでコンソールを呼び出すと、ビューバインディングのコンテキストで現在のページにコンソールが表示されます。

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

方法がカーネルで定義され、あなたが呼び出すことができます:コントローラにコンソールを呼び出す

<% console %> 

は、コントローラのアクションのコンテキストでコンソールになりますそれはあらゆるアプリケーションコードです。

要求ごとに1回のコンソール呼び出しが許可されます。複数のものがあると、WebConsole :: DoubleRenderErrorが発生します。

これは、あなたが表示したいページでコンソールを呼び出すのに役立ちます。

+0

コントローラ '未定義のローカル変数またはメソッド' console '' –

+0

の中に入れたときに、次のエラーが発生しました。ここでテストしました。 'webconsole'、 '> = 3.3.0'、 'listen'、 '> = 3.0.5'など、これらのバージョンのgemを使用していることを確認してください。 –

関連する問題