Rails Footnotes は、開発環境にて表示したページのフッターに、利用されたパーシャルファイル、スタイルシート、js ファイル、params や インスタンス変数などの値、発行された SQL などのデバッグ情報を表示してくれる Gem です。
リソース
インストール
Gemfile に rails-footnotes
を追記します。
group :development do
gem 'rails-footnotes'
end
インストールします。
$ bundle install
初期設定
必要となるファイルを自動生成します。
$ rails generate rails_footnotes:install
利用方法
たったこれだけで、ページのフッターに、以下のようなデバッグ情報が表示されるようになります。
表示されるデバッグ情報は、以下の通りです。
- Controller
- Patrials
- Stylesheets
- Javascripts
- Assigns
- Session
- Cookies
- Params
- Filters
- Routes
- Env
- Queries
- Log
- General Debug
サーバーログに DEPRECATION WARNING が大量に出力される問題 (2013/10/09 現在)
以下のイシューで取り上げられて、プルリク申請がされています。
プルリクが取り込まれていない場合は、Gemfile を書き換えてインストールすることで、上記の問題を解消しましょう。
group :development do
gem 'rails-footnotes', git: 'git://github.com/tommireinikainen/rails-footnotes.git'
end
$ bundle install
Haml / Slim で Partials が常に 0 となってしまう問題 (2013/10/09 現在)
表示したページにてパーシャルが利用されている場合、Partials に表示されるはずですが、Haml / Slim を利用している場合、常に 0 となってしまう問題があります。
以下のイシューで取り上げられて、解決方法が掲載されています。
自動生成された rails-footnotes
の設定ファイルに、以下を追記します。
if defined?(Footnotes) && Rails.env.development?
Footnotes.run!
+ Footnotes::Notes::LogNote::LoggingExtensions.module_eval do
+ def add(*args, &block)
+ super
+ logged_message = args[2] + "\n"
+ Footnotes::Notes::LogNote.log(logged_message)
+ logged_message
+ end
+ end
end
上記のコードを追記することで、Partials が正しくカウントされるようになります。
デバッグ情報をクリックして Sublime Text 2 で直接ファイルを開きたい
Controllers や Patrials 、Stylesheet などのデバッグ情報は、直接ファイルを開いて編集することが可能です。
ここでは、Sublime Text 2 でファイルを開けるようにしてみましょう。
デフォルトでは Text Mate でファイルを開く設定になっているので、rails-footnotes
の設定ファイルを書き換えて、Sublime Text 2 でファイルを開くようにします。
if defined?(Footnotes) && Rails.env.development?
Footnotes.run!
Footnotes::Notes::LogNote::LoggingExtensions.module_eval do
def add(*args, &block)
super
logged_message = args[2] + "\n"
Footnotes::Notes::LogNote.log(logged_message)
logged_message
end
end
+ Footnotes::Filter.prefix = 'subl://open?url=file://%s&line=%d&column=%d'
end
次に、subl-handler
というアプリをインストールして、Sublime Text 2 のコマンド subl
のパスを通します。
私の環境の場合、上記のアプリをインストールしただけでは、Sublime Text 2 で上手くファイルを開くことが出来ませんでした。
更に調べてみると、RailsCasts 内にも同様のコメントがあり、そこで配布されていた subl-handler
をインストールすることで、正常にファイルが開けるようになりました。
もし、公式の subl-handler
でファイルが開くことが出来ない場合は、こちらも試してみると良いかもしれません。
サンプルアプリ
今回作成したサンプルアプリです。
参考までに。