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

Building a complete Ruby on Rails business application from start to finish

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

Progressing
Elliot Smith, Rob Nichols

Building a complete Ruby on Rails business application from start to finish
$16.50
$49.99
RRP $29.99
RRP $49.99
eBook
Print + eBook
$12.99 p/month

Want this title & more? Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.
+ Collection
Free sample

Book Details

ISBN 139781847190857
Paperback528 pages

About This Book

  • Create a non-trivial, business-focused Rails application
  • Solve the real-world problems of developing and deploying Rails applications in a business environment
  • Apply the principles behind Rails development to practical real-world situations

 

Who This Book Is For

This book is aimed at developers who want to find out how to rapidly build easily-deployed, easily-supported business applications. It is for developers who have learned Ruby on Rails, probably from one of the tutorial books, and want to apply that knowledge to effectively build full, realistic applications.

Table of Contents

Chapter 1: Introduction
Why this Book?
Why Develop?
Why a Client/Server based Web Application?
But why Ruby on Rails?
Ruby on Rails in Detail
Summary
Chapter 2: The Initial Problem
A Normal Day in the Office
Examining the Data
Data Objects
Separating the Data
Naming Conventions
Back to the Data
Review the Result
How Good is the Source Data?
Tracking Who does What
Data Validation
Rory's Data
Summary
Chapter 3: Laying the Foundations
Supporting Rails Development
Addressing the Challenges
Setting Up a Rails Stack
Installing a Custom Rails Stack
Setting Up a Team Server
Summary
Chapter 4: Working with Rails
The World According to Rails
Setting Up a New Rails Application
Connecting Rails to a Database
ActiveRecord, Migrations, and Models
The Scaffold
Completing the Database
Models in Detail
Putting the Project into Context
Summary
Chapter 5: Building the User Interface
Controllers and Views: A Recap
Creating a Simple Controller and Its Views
Adding a Controller for Companies
Advanced View Techniques
C*UD (Create, Update, Delete)
Editing Multiple Models Simultaneously
Fleshing Out Companies and Addresses
Summary
Chapter 6: Into Production
An Application Ready for Production
The Application Server
Setting up the Server
Rory's Production Installation
Errors in Production
Back Up Rails
Summary
Chapter 7: Improving the User Experience
Easy Access to the Application
Users Need to be Able to Find Items Easily
Adding AJAX to the Mix
Show and Hide Company Address Using link_to_remote
Help!
Keep Talking to Users
Summary
Chapter 8: Extending the Application
Dealing with User Feedback
Adding a Search Facility
Handling Errors
Adding an Authentication System
Adding Simple Task Tracking
Uploading and Attaching Files
Summary
Chapter 9: Advanced Deployment
Deployment with Capistrano
Troubleshooting Deployment
Housekeeping
Optimizing a Rails Application
Summary
Chapter 10: Down the Track
Going off the Rails
SQL
Business Processes
The Final Destination

What You Will Learn

  • Creating a new Rails application
  • Installing an IDE for Rails
  • Connecting Rails to a database
  • Utilizing Rails' Model-View-Controller components
  • Setting up Mongrel with Apache
  • Adding Ajax to your Rails application
  • Backing up Rails applications
  • Adding an authentication system to your application
  • Optimizing Rails applications using caching
  • Scaling up your Rails production infrastructure using Apache, Mongrel, and load balancing

Chapter 1 provides an overview of the book. You will learn why Ruby on Rails should be used in preference to the multitude of other programming and scripting frameworks for developing database-driven web applications.

In Chapter 2, you will learn about some of the conventions used in Rails, and the Rails framework will be introduced. We describe some methods of controlling and logging user access and discuss their merits and limitations. We also discuss data validation and user input control via form design in this chapter.

Chapter 3 outlines how to lay some firm foundations for a sustainable Rails development project. The core of this is obviously the Rails stack itself. You will learn how to install and configure this in some detail. The chapter recommends a few of the technologies closest to the heart of Rails, which can readily be used to support your development work.

Chapter 4 will help you build from an idea and an expectant Rails installation to a fully-fledged data model, populated from an external data source, with full validation and unit test suite. This chapter also provides examples of how to integrate the application with external data sources, and how to share code development across a team.

Chapter 5 describes how to build a web interface on top of the models developed earlier. You will learn about creating a controller from scratch, how to add style sheets, writing complex controller actions to update multiple models simultaneously, and using pagination.

Chapter 6 describes how to set up a Rails production environment. In particular, it covers the decisions you will need to make to successfully get your business application up and running. Some coverage of error handling is presented, and we describe some systems that will make it easier to back up and restore your application.

Chapter 7 concentrates on the tools you can use to improve the user experience. These include providing links into the application, providing search tools, enhancements to the user interface, and providing help to the users.

Chapter 8 aims at showing more of the depth and usefulness of Rails, while at the same time demonstrating how to extend an existing application with new functionality.

Chapter 9 discusses advanced deployment of your application. You will learn how to deploy your application with Capistrano. You will also learn about troubleshooting deployment and optimizing your Rails applications.

Chapter 10 covers how you can improve your Rails skills further, and suggests alternative skills that complement Ruby on Rails, thereby broadening your skill set.

In Detail

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.

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.

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.

Authors

Table of Contents

Chapter 1: Introduction
Why this Book?
Why Develop?
Why a Client/Server based Web Application?
But why Ruby on Rails?
Ruby on Rails in Detail
Summary
Chapter 2: The Initial Problem
A Normal Day in the Office
Examining the Data
Data Objects
Separating the Data
Naming Conventions
Back to the Data
Review the Result
How Good is the Source Data?
Tracking Who does What
Data Validation
Rory's Data
Summary
Chapter 3: Laying the Foundations
Supporting Rails Development
Addressing the Challenges
Setting Up a Rails Stack
Installing a Custom Rails Stack
Setting Up a Team Server
Summary
Chapter 4: Working with Rails
The World According to Rails
Setting Up a New Rails Application
Connecting Rails to a Database
ActiveRecord, Migrations, and Models
The Scaffold
Completing the Database
Models in Detail
Putting the Project into Context
Summary
Chapter 5: Building the User Interface
Controllers and Views: A Recap
Creating a Simple Controller and Its Views
Adding a Controller for Companies
Advanced View Techniques
C*UD (Create, Update, Delete)
Editing Multiple Models Simultaneously
Fleshing Out Companies and Addresses
Summary
Chapter 6: Into Production
An Application Ready for Production
The Application Server
Setting up the Server
Rory's Production Installation
Errors in Production
Back Up Rails
Summary
Chapter 7: Improving the User Experience
Easy Access to the Application
Users Need to be Able to Find Items Easily
Adding AJAX to the Mix
Show and Hide Company Address Using link_to_remote
Help!
Keep Talking to Users
Summary
Chapter 8: Extending the Application
Dealing with User Feedback
Adding a Search Facility
Handling Errors
Adding an Authentication System
Adding Simple Task Tracking
Uploading and Attaching Files
Summary
Chapter 9: Advanced Deployment
Deployment with Capistrano
Troubleshooting Deployment
Housekeeping
Optimizing a Rails Application
Summary
Chapter 10: Down the Track
Going off the Rails
SQL
Business Processes
The Final Destination

Book Details

ISBN 139781847190857
Paperback528 pages
Read More

Recommended for You

Building Dynamic Web 2.0 Websites with Ruby on Rails
$ 12.60
Rails 4 Application Development HOTSHOT
$ 29.99
Ruby on Rails Web Mashup Projects
$ 16.20