CAVaLRy – Or, how to easily remember how to set up new MVC pages

by Dr. Monroe Mann, PhD, Esq, MBA, LLM, ME
Founder and Executive Director, Break Diving, Inc.
and… Ruby on Rails web developer

This is a short post to help you coders remember all of the parts required when adding a new page using an MVC framework.  MVC, as you know, stands for Model-View-Controller.

So, as I was making new pages, I inevitably would forget something.  I would forget to set up the routes.  Or I’d forget to create a link to the new page.  Or I’d forget to create the controller.

It started to become really frustrating, so I created this simple acronym to help me remember all the steps.  Whenever I create a new page, it’s time to call in the cavalry!

Or… “CAVaLRy”.

The C = Controller, i.e. be sure to set up the controller
The A = Action (or Method), i.e. be sure to set up the actual page within the controller
The V = View, i.e. be sure to create an actual html page for what you’re trying to do
The L = Link, i.e. be sure there is a link from another page on the site to the new page
The R = Routes, i.e. be sure to set up the routes for the link that you just created

The ‘a’ and the ‘y’ are not used.

You don’t necessarily have to follow the steps in order.  The point is to use this acronym as a checklist, i.e. “Did I do everything I need for the new page to work?”

Sometimes, you don’t need to do all the steps, e.g. the controller is already created, or you already have a view that you are going to use.  But it’s a handy tool to make sure you don’t forget anything.

Whenever I create a new page, I will call in the CAVaLRy and verify that I haven’t forgotten anything.  More often than not, when I use this method, it ensures that the page loads correctly the first time.

And if it doesn’t, no problem: call in the CAVaLRy again as a troubleshooting tool: is is the C?  The A?  The V?  The L?  or the R?  The problem generally HAS to be in one of those five areas: the controller, the action, the view, the link, or the routes.

I hope you find this helpful!

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s