I grew up enamored with arcade games like Space Invaders, Ms. Pac-Man and Double Dragon, playing them every opportunity I had. Over time, the arcades found in malls and skating rinks slowly disappeared, however you’ll still occasionally find these old games nestled in corners of bars, restaurants and laundromats. Of course, there’s even recently been a resurgence in these games’ popularity, thanks to the emergence of so-called Barcades.
In the early stages of writing “Easy Active Record for Rails Developers”, I knew I wanted to base the instruction on a real-world project, something that contained just enough features and code that the readers could really begin to understand the power of Active Record but not so complicated that the learning process became intimidating. Out of that goal came ArcadeNomad, a web site that helps like-minded arcade aficionados track down arcade games in their area.
The book is loosely-based around the development of ArcadeNomad, with each chapter delving into different aspects of the application. Readers have the option of purchasing just the book and following along with the general theme, or purchasing the companion code as part of another package. Whether you buy just the book, the book + code, or just the code, I guarantee you’ll learn a ton about Rails and Active Record, including how to:
- Effectively create and manage models and their corresponding database schemas.
- Ensure your model attributes are properly validated for presence, length, range. You’ll also learn how to use regular expressions to create custom validations, and take advantage of more complex Active Record features such as conditional validations.
- Query your models in many different ways, as well as insert, modify and delete data.
- Use powerful Active Record features such as scopes
- Build and manage multiple types of associations, including
has_many :through, as well as take advantage of polymorphic models.
- Create a model-based contact form using the MailForm gem similar to the one found at http://arcadenomad.com/contact.
- Create a complex, nested form involving multiple models such as the one found at http://arcadenomad.com/locations/new.
- Use powerful third-party gems to effectively debug and optimize your Rails application.
- Test your models using RSpec, FactoryGirl, and Capybara.
Keep in mind ArcadeNomad is purposefully not packed with features! Although over time I plan on continuing to expand and evolve the service, I will do so for the benefit of “Easy Active Record for Rails Developers” readers so they can benefit from learning about different aspects of Rails and Active Record. Also, despite including a number of RSpec-based tests (RSpec, FactoryGirl, shoulda-matchers, and Capybara, to be exact), it almost certainly contains a few bugs.
Have any questions about ArcadeNomad? Contact me via http://arcadenomad.com/contact or e-mail me at wj AT wjgilmore.com!