How to debug a Rails application in emacs?

This is a little bit dated but the way to go is here:

http://www.datanoise.com/articles/2006/7/12/tutorial-on-ruby-debug

The only basic difference when running in emacs is you want to start
your server (script/server) from inside a shell window like this:

M-x shell
$ cd your_project_root
$ script/server

I've used this method with ruby 1.8.7 / rails 2.2.2 and it definitely
works. Unfortunately for me, I'm working with ruby 1.9.1p0 and ruby-
debug hasn't quite made it there yet.

Not sure what you're using for emacs but I've found aquamacs (cocoa
build on emacs 22.3.1) to work quite nicely on OSX. What are you
doing to get your "rails-mode" functionality? I've used rinari and am
currently working with emacs-rails - both located by google.

I've needed to noodle emacs-rails a bit to get it to do something
reasonable with menu driven rspec variants.

Let me know how it works out for you.

This should be

script/server -u

to enable debugging.

Actually, the example I cited had two steps to it:

1) add "require 'ruby-debug' to "config/environments/development.rb"

2) add "debugger" to the your application file of interest just before
you want the debugging session to start

This removes the need for the -u flag to script/server and enters the
debugger at the point of interest. Obviously you can use -u, enter
the debugger at the beginning of the program, set a breakpoint at the
point of interest, and run forward to the breakpoint.