RailsでBetter Errorsを試してみる

Ruby2/Rails4でHello, world!を表示してみる
の続き

RailsでBetter Errorsを試してみる

Better Errorsを使わない場合

とりあえず、存在しない変数にアクセスし、エラーが発生するよう修正する。

$ vi app/controllers/sample_controller.rb
class SampleController < ApplicationController
  def index
   a = 100
   b = xxx
  end
end

ブラウザからアクセスすると、下記のようなエラー画面が表示される。

Better Errorsを使った場合

まず、Better Errorsのgemを設定してインストールする。

$ vi Gemfile
・・・
gem 'better_errors'		←追加
$ bundle install

Better Errorsは、デフォルトではlocalhostからアクセスした場合のみ
有効になるようなので、許可するIPを設定する。
下記のように「0.0.0.0/0」を指定すると全てのIPが許可されるみたい。

$ vi config/environments/development.rb
Rails.application.configure do
・・・
end

BetterErrors::Middleware.allow_ip! "0.0.0.0/0"		←追加

ブラウザからアクセスすると、下記のようなエラー画面になる。

コンソールを表示させてみる

binding_of_callerのgemを設定すると、上記のエラー画面でコンソールが使えるようになる。

$ vi Gemfile
・・・
gem 'better_errors'
gem 'binding_of_caller'		←追加
$ bundle install

ブラウザからアクセスすると、コンソールが表示されている。

コンソールでは、変数の値などが確認できる。