LoginSignup
20
19

More than 5 years have passed since last update.

Padrino で Better Errors を使う

Last updated at Posted at 2012-12-26

better_errors は sinatra でも使えるので、何も難しいことはないですね。

$ ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin11.4.2]
$ padrino -v
Padrino v. 0.10.7

サクッと Gemfile に追加して…

Gemfile
group :development do
  gem "better_errors"
  gem "binding_of_caller"
end
$ bundle install

パパッと設定を書いて上げれば…

config/boot.rb
# …
# Load our dependencies
equire 'rubygems' unless defined?(Gem)
require 'bundler/setup'
Bundler.require(:default, PADRINO_ENV)

# ココを追加
if Padrino.env == :development
  Padrino::Application.use BetterErrors::Middleware
  BetterErrors.application_root = PADRINO_ROOT
  BetterErrors.logger = Padrino.logger
  # 表示を許可するアクセス元 IPの指定
  # thanks! @dayflower
  # BetterErrors::Middleware.allow_ip! "127.0.0.0/8" # default
  # BetterErrors::Middleware.allow_ip! "::1/128"     # default
end

##
# ## Enable devel logging
#
# ...

リッチなエラーページが Padrino にもやってきて便利ですね!

追記:
Padrino 0.11 では protect_from_csrf が有効になっているため、
画面右側の情報が何も表示されなくなってしまっています。
どうやって解消すればいいかな…

回避方法を書いてみました。Padrino 0.11 以降で Better Errors を使う

20
19
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
19