Rails では、強力なデバッグ方法が用意されています。
Rails でおフォルトで GEM debug が入っています。
コードの途中に debugger と書くと、
その場所で実行が止まり、
(rdbg)
とプロンプトが出ます。
ここでは、普通に Ruby のコードが実行できますし、
Rails の変数の値を確認したり変更したりもできます。

図では、
10行目の debugger で一旦停止し、
target_books.first を実行して、データを確認しています。
WEBアプリを実行してエラーが出たとき、
そのエラーの手前に debugger を入れて、
エラーになる状況を把握&デバッグできるので便利です。
(rdbg)プロンプトで、以下のコマンドも利用可能です。
他にも沢山あります。
詳細が必要であれば GitHub を参照してください。
コード中に logger を挿入すると、ログに残すことができます。
動作の流れを見たい時に有用です。
logger.(レベル) "記録する文字列"
e.g.
logger.debug "BOOK DATA: #{@book.attributes}"
レベルは、以下の5種類
どのレベルまでログに残すかは、
例えば development 環境のデフォルトは「全て」ですが、
warn 以上だけにしたいなら、
\config\environments\development.rb に
config.log_level = :warn
と追記します。
ログは、
development 環境なら \log\development.log に保存されます。
JavaScript のデバッグなら、こちらが有用です。
Google Chrome を普通に起動し、
WEBアプリを開きます。
F12 キーを押すと、ブラウザ右側にデバッグ画面が現れます。
実際の画面を使って説明します。

① の「ソース」を選択します。
デフォルトで、デバッグ画面は3つに分かれていて、