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で置き換えてしまうというのが簡単な解決方法でした。
手順としては次のとおりです。
- railsプロジェクトのGemfileに以下を追記する。
- バンドルコマンドを実行し、pry-railsをインストールする。
gem 'pry-rails', :group => :development |
$ 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
コメントを残す