LoginSignup
24
22

More than 5 years have passed since last update.

Rails Footnotes | ページのフッターにデバッグ情報を表示

Last updated at Posted at 2013-10-10

Rails Footnotes は、開発環境にて表示したページのフッターに、利用されたパーシャルファイル、スタイルシート、js ファイル、params や インスタンス変数などの値、発行された SQL などのデバッグ情報を表示してくれる Gem です。

リソース

インストール

Gemfile に rails-footnotes を追記します。

Gemfile
group :development do
  gem 'rails-footnotes'
end

インストールします。

$ bundle install

初期設定

必要となるファイルを自動生成します。

$ rails generate rails_footnotes:install

利用方法

たったこれだけで、ページのフッターに、以下のようなデバッグ情報が表示されるようになります。

rails-footnotes.png

表示されるデバッグ情報は、以下の通りです。

  • Controller
  • Patrials
  • Stylesheets
  • Javascripts
  • Assigns
  • Session
  • Cookies
  • Params
  • Filters
  • Routes
  • Env
  • Queries
  • Log
  • General Debug

サーバーログに DEPRECATION WARNING が大量に出力される問題 (2013/10/09 現在)

以下のイシューで取り上げられて、プルリク申請がされています。

プルリクが取り込まれていない場合は、Gemfile を書き換えてインストールすることで、上記の問題を解消しましょう。

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 の設定ファイルに、以下を追記します。

rails_footnotes.rb
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 でファイルを開くようにします。

rails_footnotes.rb
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 でファイルが開くことが出来ない場合は、こちらも試してみると良いかもしれません。

サンプルアプリ

今回作成したサンプルアプリです。
参考までに。

あわせて読みたい

24
22
0

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
24
22