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 ...

Get RJS Templates for Rails now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.