tl;dr
rack-mini-profiler
を Gemfile
に入れるときは require: false
しよう。
詳細
動く
デフォルトで有効になってるってのは多人数で開発してるといろいろよろしくないので、環境変数を指定して有効にするようにした。
- Gemfile
group :development do
gem 'rack-mini-profiler', '0.9.1', require: false
end
- config/initializers/rack_profiler.rb
if Rails.env == 'development'
if ENV.has_key?('ENABLE_RACK_PROFILER')
require 'rack-mini-profiler'
Rack::MiniProfilerRails.initialize!(Rails.application)
end
end
- rails server
% ENABLE_RACK_PROFILER=1 bundle exec rails server
動かない
- Gemfile
group :development do
gem 'rack-mini-profiler', '0.9.1'
end
- config/initializers/rack_profiler.rb
if Rails.env == 'development'
require 'rack-mini-profiler'
Rack::MiniProfilerRails.initialize!(Rails.application)
end
これをしないと500が返る。原因は rack-mini-profiler
が複数回 require
されること。
undefined method `discard' for nil:NilClass rack-mini-profiler
backtrace。
[2014-06-11 11:48:42] ERROR NoMethodError: undefined method `discard' for nil:NilClass
/PATH/TO/YOUR/ruby/gems/2.0.0/gems/rack-mini-profiler-0.9.1/lib/mini_profiler/profiler.rb:307:in `call'
ググるとPRが引っかかるんだけど、「それは違うよ」というオチで、「idiot-proof」として(ぐぬぬ)別のPRがマージされている。