O'Reilly logo

RJS Templates for Rails by Cody Fauser

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

RJS and Rails

Like everything else in Rails, RJS is well integrated into the framework. In this section we'll take a look at how RJS templates fit in with the rest of the Rails.

Debugging

What would software be without bugs? Fortunately, Rails provides a few built in mechanisms to help you locate the source of your problems and get your bugs resolved quickly.

Development Mode Debugging

By default, in development mode all RJS calls are wrapped in JavaScript try/catch blocks. The try/catch blocks catch all exceptions that occur during the execution of the RJS JavaScript response. When exceptions do occur, details about what went wrong are presented on a series of two alert boxes. The exception itself is detailed on the first alert box. The second alert box shows the code that generated the exception.

Debugging is controlled by the configuration parameter config.action_view.debug_rjs in environments/development.rb. If you'd like to disable debugging in your development environment, set this parameter to false and restart your development web server.

Monitoring the Logfile

If Rails raises an unhandled exception while processing an Ajax request, the response will be an HTML error page instead of the generated JavaScript code that you really wanted. The easiest way to debug these problems is to monitor the logfiles. An easy way to monitor your logs is to use the Unix or Linux tail command. Execute the following from your project's root directory to have tail monitor the logfile.

cody> tail -f ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required