開発モード中にレール5.0のアプリケーションページでエラーが発生すると、ページの下部にレールのエラーページが表示されます(下のスクリーンショットのように)。コンソールは、エラーが発生したコントローラのメソッドを実行するのに非常に便利です。すべてのページにRailsコンソールを表示する
それは私がエラーページなしでアクセスできるようにすべてのページにそれを有効にすることは可能ですか?
開発モード中にレール5.0のアプリケーションページでエラーが発生すると、ページの下部にレールのエラーページが表示されます(下のスクリーンショットのように)。コンソールは、エラーが発生したコントローラのメソッドを実行するのに非常に便利です。すべてのページにRailsコンソールを表示する
それは私がエラーページなしでアクセスできるようにすべてのページにそれを有効にすることは可能ですか?
Webコンソールの宝箱pageには、アプリケーションの任意のページでコンソールを手動で実行できると記載されています。ドキュメントでは次のように書かれています。
たとえば、ビューでコンソールを呼び出すと、ビューバインディングのコンテキストで現在のページにコンソールが表示されます。
class PostsController < ApplicationController
def new
console
@post = Post.new
end
end
方法がカーネルで定義され、あなたが呼び出すことができます:コントローラにコンソールを呼び出す
<% console %>
は、コントローラのアクションのコンテキストでコンソールになりますそれはあらゆるアプリケーションコードです。
要求ごとに1回のコンソール呼び出しが許可されます。複数のものがあると、WebConsole :: DoubleRenderErrorが発生します。
これは、あなたが表示したいページでコンソールを呼び出すのに役立ちます。
コントローラ '未定義のローカル変数またはメソッド' console '' –
の中に入れたときに、次のエラーが発生しました。ここでテストしました。 'webconsole'、 '> = 3.3.0'、 'listen'、 '> = 3.0.5'など、これらのバージョンのgemを使用していることを確認してください。 –
ターミナルで 'rails c'を使うだけではどうですか? –
個人的に私はターミナルで多くの 'rails console 'を使っていません。私がしようとしているのは、 'コントローラ'と 'モデル'の中にあるメソッドを実行して、それらが期待どおりに動作していることを確認することです。私がそれをページに持って来ようとしているのは、私が「コントローラ」の一部であるページにいるときに、そのコントローラの一部である 'メソッド'を実行できるということです。 –
これは特にコントローラ上のメソッドをテストするためのものであれば、単体テストを書く方が良いでしょう。最初にテスト結果を作成し、テストが合格するまでコントローラを修正します。テスト駆動型開発(TDD) –