Book Image

Ruby on Rails Enterprise Application Development: Plan, Program, Extend

By : Elliot Smith, Rob Nichols
Book Image

Ruby on Rails Enterprise Application Development: Plan, Program, Extend

By: Elliot Smith, Rob Nichols

Overview of this book

<p><br />All businesses have processes that can be automated via computer applications, thereby reducing costs and simplifying everyday operations. This book demonstrates that a modern web application framework makes an ideal platform for such applications. It shows how the attributes that make the Rails framework so successful for Internet applications also provide great benefit within a business intranet. These attributes include easy roll-out and update of applications, centralized processing and data handling, simple maintenance, straightforward code development, and scalability.<br /><br />Ruby on Rails is an open-source web application framework ideally suited to building business applications, accelerating and simplifying the creation of database-driven websites. Often shortened to Rails or RoR, it provides a stack of tools to rapidly build web applications based on the Model-View-Controller design pattern.<br /><br />This book covers topics such as installing Ruby, Rubygems, and Rails on Windows, Linux, and Mac OS X; choosing and installing a database; installing an IDE for Rails development; setting up a Subversion repository to manage your code; creating a new Rails application; understanding Rails models; understanding controllers and views; improving user interfaces with Ajax; using Rails plugins to manage file uploads; using Capistrano to manage application deployment; techniques for scaling Rails applications, such as caching and using Apache to proxy through to the Mongrel server. The example application is straightforward to develop, easy to roll out, and simple to maintain.</p>
Table of Contents (16 chapters)
Ruby on Rails Enterprise Application Development
Credits
About the Authors
Preface
Index

Controllers and Views: A Recap


The model layer of the last chapter is the first part of the Model-View-Controller jigsaw. Implementing a user interface on top of the model layer means building the two remaining MVC components (see the section Model-View-Controller Architecture at the start of Chapter 4):

  1. Controllers, which handle the control flow and interact with the model layer

  2. Views, which present data to the user and enable them to interact with the controllers

How do you decide which controllers and views do you need to build? Rails helps us with our decision making by suggesting a convention: one controller for each model. The controller for the model handles all of the operations on it; typically the CRUD operations, i.e.

  • Creating a new instance

  • Retrieving all the instances of the model

  • Updating an instance

  • Deleting an instance

Making a controller for each model seems a sensible place to start. In the rest of the chapter, we will build up the following controllers, corresponding to the models...