Debugging in Rails

Windows developers are used to having powerful IDEs to help them build their applications. I used to live and die by the line-by-line breakpointer, and I was surprised by the lack of any similar debugging tools for Rails. However, after working with Rails for a month, I learned an important lesson: you just don't need them.

Rails developers typically do test-driven development, so they're writing their unit tests before they write their business rules. For example, if I were to write a keyword search method, I'd write a unit test first:

# Should find 2 because I have "red" in the test data in 2 records assert_equal(2, Document.find_by_keywords("red")

# should find 0 because that term isn't in any of the records assert_equal(2, Document.find_by_keywords("blue")

# should find 2 because the word "ninja" is found on one document # and 'pirate' is found in another. assert_equal(2, Document.find_by_keywords("ninja pirate")

If you notice, the test that I wrote gives me a clear indicator of what I need to code. It also gives me a chance to throw all sorts of stuff at my code to see how it will react later.

Unit testing can be difficult to grasp if you've never done it before. The hardest part is learning to write the tests first. If you can master that, you'll notice your need for debugging tools diminish quickly.

Still not convinced? Read on. There are a few built-in tools that you have at your disposal.

The Rails Console

The Rails Console is an interactive command shell where ...

Get Rails on Windows 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.