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 を使う