«

»

3月
06

Ruby on Railsでirbの代替としてpryを使う

Ruby on Railsの便利なツールで、rails consoleというコマンドがあります。ターミナル上で

$ rails console

を実行すると、Railsの環境をロードした状態でirbが起動するのでモデル等のデバッグに向いています。
アプリケーション開発時のデバッグツールの一つとして便利です。

irbコマンドはRails固有ではなくRubyスクリプトを対話形式で実行できるコマンドですが、これの代替となるPryというコマンドがあります。

Railsでも利用可。irbよりも便利な対話型コンソール「Pry」
http://www.moongift.jp/2011/08/20110812-2/

これを、rails consoleの代替として使う場合、

$ pry -r ./config/environment

とすればOKです。

しかし、これだと問題があって、Railsでモデルを変更した場合等にreload!を実行する必要がありますが、このままではreload!を認識せず、エラーとなってしまいます。
他にも方法があるかもしれませんが、rails consoleコマンドのirbをpryで置き換えてしまうというのが簡単な解決方法でした。

手順としては次のとおりです。

  1. railsプロジェクトのGemfileに以下を追記する。
  2. gem 'pry-rails', :group => :development
  3. バンドルコマンドを実行し、pry-railsをインストールする。
  4. $ bundle install

これで、rails consoleを実行すると、irbからpryに変更されている事が確認できます。

$ rails console
Loading development environment (Rails 3.2.1)
[1] pry(main)>

reload!を実行してみます。

[1] pry(main)> reload!
Reloading...
=> true
[2] pry(main)>

無事実行できました。

https://github.com/rweng/pry-rails

コメントを残す

メールアドレスは公開されません

次の HTMLタグおよび属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>