IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

Ruby & Rails

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  OpenStack  システムトラブルシュート 

第9回 Google Chrome×Rails開発 → RailsPanel (松永紘) 2013年11月

 10月中旬から11月の頭にかけて、Rails3.2系及び4.0系のアップデートがそれぞれ行われました。
 Rails3.2系は3.2.15がリリースされ、56件のバグフィックスや機能改修の他、ActionMailerのDoS攻撃脆弱性に対するセキュリティフィックスが含まれています。Rails3.2系をお使いの方は3.2.15にアップデートすることをお勧めします。

 Rails4.0系は4.0.1がリリースされています。本リリースでは3.2系で先行して修正されたものも含め、460件以上のバグフィックス・機能改修が行われています。リリースの告知(*1)では重要な変更として、ActiveRecordのorderに関する仕様変更が取り上げられています。

User.order("name asc").order("created_at desc")

# 発行されるSQL(Rails4.0.0の場合) # SELECT* FROM users ORDER BY created_at desc, name asc
# 発行されるSQL(Rails4.0.1及びRails3系の場合) # SELECT* FROM users ORDER BY name asc, created_at desc

 その他の変更はGitHub上のChangeLogなどをご覧ください。

RailsPanel

 さて今回は、Google Chromeの開発者ツールにRailsのリクエストまわりの情報を表示させるツールRailsPanel(*2)をご紹介します。

fig01

 Chromeの開発者ツールは、フロントエンドの検証をする上で非常に強力なツールです。画面上でHTML・StyleSheet・JavaScriptをいじれるため、デバッグやちょっとした動作確認などWebアプリケーションを開発したことのある人であれば一度はお世話になっていることでしょう(*3)。
 ただ、当然と言えば当然ですがサーバサイドであるRailsの情報はブラウザ側で知ることができないため、別途コンソールやエディタなどを操作する必要があります。
 RailsPanelを使用すると、Chromeの開発者ツール上でRails部分の情報を見ることができるそうなので、早速使ってみました。
 尚、今回の動作環境は以下の通りです(*4)。

  • Ruby 2.0.0
  • Rails 4.0.1
  • Google Chrome 30

 まずはお決まりのインストールですね。RailsPanelを使用する場合はChrome拡張機能のインストールと、Rails側でのGem導入と二つの作業が必要になります。
 Chrome拡張機能のインストールはChromeウェブストア(*5)から行います。

fig02

 Rails側の導入は「/Gemfile」に以下を記載して「bundle install」を実行します。

group :development do
  gem "meta_request"
end

 インストール後、サーバを起動しChromeで開発者ツールを開くとRailsというタブが増えているのが分かるかと思います。

fig03

 Railsタブ内の左側がリクエストの一覧、右側が各リクエストの詳細情報となっています。リクエストの詳細情報には以下のものが存在します。

  • Params: リクエストパラメータの一覧
  • DB: 該当リクエストで投げられたクエリの一覧
  • View: 表示に使用されたViewファイルの一覧
  • Log: ソース上にloggerを使って埋め込んだログ情報の表示
  • Error: エラー発生時のバックトレース情報

 よく使いそうなのはやはりParamsとDBでしょうか。Logも使い方によってはすごく便利そうですが、執筆時現在の最新バージョン(*6)ではバグで何も表示されないようです(*7)。
 また、View(*8)に関してはファイルパスの表示部分にリンクが設定されており、該当ファイルをエディタで開くことができます(*9)。

fig04

 尚、このリンクのURLスキームはデフォルトでは「txmt://」ですが、変更することも可能です。変更する場合はChromeの設定 → 拡張機能 → RailsPanelのオプションの順に開き、使用したいものを選択します。

fig05

まとめ

 以上、簡単ではございますがRailsPanelのご紹介をしてきました。
 以前ご紹介した「Better Errors」「Rails Footnotes」と合わせてRailsデバッグ三種の神器(!)、だと個人的には思っています。これらのツールを上手に組み合わせて、より手軽に楽しく開発していきたいですね。皆さんも是非お試しください。

 それでは、Enjoy Ruby!

注釈

*1http://weblog.rubyonrails.org/2013/11/1/Rails-4-0-1-has-been-released/

*2https://github.com/dejan/rails_panel

*3:もちろん、FireFoxなどを使われている方もいると思いますが...。

*4:Ruby1.9.3、Rails3系でも動作するみたいです。

*5https://chrome.google.com/webstore/detail/railspanel/gjpfobpafnhjhbajcjgccbbdofdckggg

*6:RailsPanel 0.1.7、MetaRequest 0.2.8

*7https://github.com/dejan/rails_panel/issues/64

*8:前述の通りバグで何も表示されませんが、ソースを見る限りはLogに関してもViewと同様にリンクが設定されてそうです。

*9:URLスキームとエディタを関連付けておく必要があります。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  OpenStack  システムトラブルシュート