This 4 day course picks up where Python I leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development. This is a hands-on programming class. All concepts are reinforced by informal practice during the lecture followed by lab exercises. Many labs build on earlier labs, which help students retain the earlier material.
Objectives
Download and install Rails along with various other products that allow one to write Rails applications.
Understand the Model, View, Controller paradigm and how this applies to Rails application.
Understand the directory structure of a Rails application.
Build non-trivial database backed Web Applications.
Understand the ActiveRecord classes and how they wrap database tables.
Understand the interplay between various controller actions and .erb (embedded Ruby) files.
Validate Model data.
Use the Rails console to debug applications.
Detailed Outline
- An Overview of Ruby on Rails
- What is Ruby on Rails?
- Overview of Rails Components
- Installing Rails
- A Simple Rails Application
- Starting the Rails Server
- Static Pages Within a Rails Application
- The Structure of a Rails Application
- Generating a Controller
- Rendering the View
- Adding a Static Page
- Dynamic Pages with Embedded Ruby
- Using the render Method
- Using the link_to Method
- Rails and HTML Forms
- A Basic HTML Form
- Processing an HTML Form
- Working with Form Data
- Other Form Elements
- Form Tag Helpers
- Databases and Rails
- Review of the MVC Architecture
- Entities and Relationships
- Databases and Models
- Rails Database Conventions
- Adding a Model
- Database Migrations
- The Rails Database Console
- Creating a Rails View of a Database Table
- Scaffolding
- RESTful Routes and Resources
- Form Helpers and Validation
- Introduction
- Form Helpers and form_for
- Processing Form Helpers
- From Form to Database
- Redirection
- Data Validation
- Validation Helpers
- The presence Validator
- The numericality Validator
- The uniqueness Validator
- The length Validator
- The format Validator
- Custom Validation Methods
- The errors Object
- Displaying Validation Errors in the View
- Adding Style to an Application
- Styling
- Rails and Sass
- Cascading Style Sheets
- Users
- Introduction
- Configuring an Application for Sessions
- Registering Users
- The Register Action
- The flash Hash
- Validating the Registration
- Logging in
- Logging Out
- Protected Pages
- Filters
- Putting It All Together
- Introduction
- The Business Application
- Database Terminology
- Linking Two Models
- Adding Tasks
- The Database Tables
- Displaying Employee Tasks
- Deleting a Task
- Listing Employees and Tasks
- Migrations
- Editing a Record