The Artima Developer Community
Sponsored Link

Ruby Buzz Forum
The Rails Way (Table of Contents)

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Obie Fernandez

Posts: 608
Nickname: obie
Registered: Aug, 2005

Obie Fernandez is a Technologist for ThoughtWorks
The Rails Way (Table of Contents) Posted: May 23, 2007 11:47 PM
Reply to this message Reply

This post originated from an RSS feed registered with Ruby Buzz by Obie Fernandez.
Original Post: The Rails Way (Table of Contents)
Feed Title: Obie On Rails (Has It Been 9 Years Already?)
Feed URL: http://jroller.com/obie/feed/entries/rss
Feed Description: Obie Fernandez talks about life as a technologist, mostly as ramblings about software development and consulting. Nowadays it's pretty much all about Ruby and Ruby on Rails.
Latest Ruby Buzz Posts
Latest Ruby Buzz Posts by Obie Fernandez
Latest Posts From Obie On Rails (Has It Been 9 Years Already?)

Advertisement

I'm proud to reveal the table of contents for my upcoming book The Rails Way publicly, for the first time ever. The first RoughCut PDF version is now up on Safari, and contains the first seven chapters. I'm supposed to submit 12 more chapters at the end of May, after which a new RoughCut will be released.

By publishing the outline here, I'm not just being exhibitionist or trying to drum up attention for the book. I am soliciting your feedback, so please check it out and email me your unvarnished opinions and suggestions. Keep in mind that I'm trying to put out the must-have serious reference title for Rails professionals. The Rails Way doesn't have tutorial material, neither is it tailored for beginners.

According to my current schedule, the final push to get this baby done and out to the publisher is the month of June. The outline below is copied directly out of my manuscript. Some of the chapters (such as 10 and 11) remain mostly to be written and I don't have a firm outline for that content yet. Suggestions are deeply appreciated.

INTRODUCTION
Ruby and Rails	
    The Rise of Rails	
    Mainstream acceptance?	
    Simply being exceptional	
    Extreme productivity in the enterprise	
Opinionated Software	
About This Book	
    Productivity	
    Sample application and code snippets	
    Prerequisites	
    Recommended Reading	
    Regarding David Heinemeier Hansson a.k.a. DHH	
    Goals	
    Required Hardware	
    Required Software
	
CHAPTER 1  RAILS ENVIRONMENTS AND CONFIGURATION	
Startup	
    Default environment settings	
    Bootstrapping	
    Initializer	
    Builtin Rails Info	
    Configuration	
    Additional Configuration	
Development Mode	
    Automatic class reloading	
    The Rails classloader	
Test Mode	
Production  Mode	
Custom Environments	

CHAPTER 2  WORKING WITH CONTROLLERS	
The dispatcher, where it all begins	
    Up close and personal with the dispatcher	
The role of the controller	
Render unto Server....	
    When in doubt, render	
Explicit rendering	
    Rendering another action?s template	
    Rendering a different template altogether	
    Rendering a partial template	
    Rendering inline template code	
    Rendering text	
    Rendering other types of structured data	
    Rendering nothing	
    Rendering options	
Redirecting	
Controller/view communication	
    "Instance" is relative

    	
CHAPTER 3  ROUTING	
The two faces of routing	
Bound parameters	
Wildcard components ("receptors")	
Static strings	
The routes.rb file	
    The default route	
    Default route recognition	
    Spotlight on the :id field	
    Default route generation	
    Modifying the default route	
The ante-default route and respond_to	
respond_to and the HTTP-Accept header	
The empty route	
Writing custom routes	
Using static strings	
Using your own "receptors"	
A note on route order	
Using regular expressions in routes	
Default parameters and the url_for method	
    What happened to :id?	
Using literal URLS	
Route globbing	
Globbing auction item descriptions	
Named routes	
_path vs. _url	
What to name your routes	
    A bit of argument sugar	
    A little sugar with your sugar?	
The special scope method with_options	

CHAPTER 4  REST, RESOURCES AND RAILS	
REST in a rather small nutshell	
REST in Rails	
Routing and CRUD	
Resources and representations	
    REST resources and Rails	
    From named routes to REST support	
    Re-enter the HTTP verb	
The standard RESTful controller actions	
The PUT and DELETE cheat	
Singular and plural RESTful routes	
The special pairs: new/create and edit/update	
Nested resources	
    To nest, or not to nest?	
    Another route to nesting: path_prefix	
    Namespacing RESTful routes with :name_prefix	
Adding custom actions with :member and :collection	
Controller-only resources	
Singleton resource routes	
Returning different representations of resources with respond_to	
    Formatted named routes	
At home with the Rails REST action set	
    Index	
    Show	
    Destroy	
    New and Create	
    Edit and Update	

CHAPTER 5  REFLECTING ON RAILS ROUTING	
Examining routes in the application console	
    Dumping routes	
    Anatomy of a Route object	
    Recognition and generation in the console	
    Named routes in the console	
Testing routes	
    A word about argument syntax	
The Routing Navigator plugin	
Further Resources	

CHAPTER 6  WORKING WITH ACTIVERECORD	
Tables as classes, rows as instances, columns as attributes	
Migrations	
    Creating migrations	
    Migration API	
    Defining columns	
Macro-style methods	
    Relationship declarations	
    Convention over configuration	
    Pluralization	
    Setting names manually	
    Legacy naming schemes	
Defining Attributes	
    Default Attribute Values	
    Serialized attributes	
CRUD: Creating, Reading, Updating, Deleting	
    Creating new ActiveRecord instances	
    Reading ActiveRecord objects	
    Reading and writing attributes	
    Accessing and manipulating attributes before they are typecast	
    Reloading	
    Dynamic attribute-based finders	
    Custom SQL Queries	
    The Query Cache	
    Updating by id	
    Updating by condition	
    Updating a particular instance	
    Updating specific attributes	
    Convenience updaters	
    Controlling access to attributes	
    Deleting and destroying	
Database Locking	
    Optimistic Locking	
    Pessimistic Locking	
    Considerations	
Advanced Finding	
    Conditions	
    Ordering of find results	
    Limit and offset	
    Select option	
    From option	
    Locking option	
    Read Only	
    Group By option	
    Joining and including associations	
Connections to multiple databases in different models	
Using the database connection directly	
    The DatabaseStatements module	
    Other connection methods	
Other Configuration Options	

CHAPTER 7  ACTIVE RECORD ASSOCIATIONS	
Association Proxies	
    AssociationProxy	
One-to-many relationships	
    Adding associated objects to a collection	
    AssociationCollection	
    belongs_to	
    belongs_to options	
    has_many	
    has_many options	
Many-to-many relationships	
    has_and_belongs_to_many	
    has_many :through	
    has_many :through options	
One-to-one relationships	
    has_one	
    has_one options	

CHAPTER 8  ACTIVERECORD VALIDATIONS	
Finding Errors	
The simple declarative validations	
    validates_acceptance_of	
    validates_associated	
    validates_confirmation_of	
    validates_each	
    validates_inclusion_of validates_exclusion_of	
    validates_format_of	
    validates_length_of	
    validates_numericality_of	
    validates_presence_of	
    validates_uniqueness_of	
    Common validation options	
Conditional validation	
Working with the Errors object	
    Adding errors manually	
    Checking for errors	
Custom validation	
Skipping validations	

CHAPTER 9  ADVANCED ACTIVERECORD	
Callbacks and Observers	
Object Identity	
Single-Table Inheritance (STI)	
Polymorphic has_many relationships	
Modules for reusing common behavior	
ActiveRecord Tricks

CHAPTER 10  ACTIONVIEW AND HELPERS
Layouts and Templates

	
CHAPTER 11  WORKING WITH FORMS	
Form Helpers	
Relevant Plugins	
    acts_as_dropdown	
    simply_helpful

CHAPTER 12  AJAX ON RAILS	
Prototype	
    Firebug	
    The Prototype API	
    Top-level functions	
    Class	
    Extensions to JavaScript's Object class	
    Extensions to JavaScript's Array class	
    Extensions to the document object	
    Extensions to the Event class	
    Extensions to JavaScript's Function class	
    Extensions to JavaScript's Number class	
    Extensions to JavaScript's String class	
    The Ajax object	
    Ajax.Responders	
    Ajax.Base	
    Enumerable	
    Enumerable functions	
    Hash	
    ObjectRange	
    The Prototype object	
PrototypeHelper	
    Calling a controller action with a link	
Scriptaculous	
    Common API	
    Autocompleter	
    InPlaceEditor	
    The Effects

CHAPTER 13  SESSION MANAGEMENT	
Settings	
    Secure sessions	
Timing-out and session lifecycle	
    Session Timeout Plugin for Rails	
    ActiveRecord Session Store	
    Tracking active sessions	
    Enhanced session security	
    Cleaning up old sessions	
Cookies	
    Reading and writing cookies

CHAPTER 14  LOGIN AND AUTHENTICATION	
Acts as Authenticated	
    The User Model	
    Conditional callbacks	
    The Account Controller	
    The current user
Basic HTTP Authentication

CHAPTER 15  RAILS AND XML	
First, the simple stuff	
Learning from Array?s to_xml method	
The XML Builder

CHAPTER 16  BACKGROUND PROCESSES	
script/runner	
DRb	
BackgrounDRb	
    Getting started	
    Configuration	
    Understanding BackgrounDRb	
    Using the MiddleMan
    
CHAPTER 17  ACTIONMAILER	
Setup	
Mailer models	
    Sending	
Receiving emails	
Configuration	

CHAPTER 18  INTERNATIONALIZATION	
Encoding conversions
Globalize

CHAPTER 19  TESTING	AND SPECS
Layout of Tests and Clarification of Terms
Test::Unit	
    Rake tasks related to testing	
    Running a single test	
Fixtures	
    CSV Fixtures	
    Accessing fixture records from tests	
    Dynamic fixture data	
    Using fixture data in development mode	
    Generating fixtures from development data	
    Options
Drawbacks of Fixtures
Mocks and Stubs
Unit tests	
    Basics	
Functional tests	
Rails Integration Tests	
    Basics	
    The Integration Test API	
    Simple integration tests	
    Working with sessions	
Acceptance tests	
    Acceptance Test First?	
Selenium	
    Basics	
    Getting started	
    RSelenese	
    Partial Scripts
RSpec
    BDD Fundamentals
    Getting started
    test/spec
RCov
    Coverage Basics
    Setup

CHAPTER 20  EXTENDING RAILS	
Managing Plugins
    Reusing Code
    The plugin script	
    Subversion and script/plugin	
Piston	
    Installation	
    Importing a vendor library	
    Converting existing vendor libraries	
    Updating	
    Locking and Unlocking Revisions	
    Piston properties
    
CHAPTER 21  RAILS PRODUCTION CONFIGURATIONS	
[To be contributed by Zed Shaw]

CHAPTER 22  CAPISTRANO
    Basics
    Simple Deployment Recipes	
    Multi-Server Deployments
	
CHAPTER 23  PERFORMANCE TESTING AND TUNING	
    Benchmarking	
    The Ruby Memory Model
    
APPENDIX A  RAILS ESSENTIALS	
Subversion	
    Rake Tasks for Subversion	
Edge Rails	
Plugins worth their weight in gold
    Annotate Models
    Exception Notification	
    Query Trace	
    Debug View Helpers	
    Other plugins	
Environmental concerns	
    Aliases	
    Color	
    Redgreen
    
APPENDIX B  RUBY CODING, THE RAILS WAY
About Rails Idioms
Variable number of arguments plus options	
Method chaining with alias_method_chain

Read: The Rails Way (Table of Contents)

Topic: Eat That Frog! Previous Topic   Next Topic Topic: Hsv.rb

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use