This book is very good, but I strongly SUGGEST and cannot hardly STRESS ENOUGH for every newbie with Ruby on Rails -- LEARN RUBY FIRST. I am telling you, this will benefit thousand times later when you start developing.At the moment I am writing this review this 2nd edition of the books is outdated, as we have even Rails 3 coming soon. ;-)
Author(s): Dave Thomas, David Hansson, Leon Breedt, Mike Clark, James Duncan Davidson, Justin Gehtland, Andreas Schwarz
Series: The facets of Ruby series
Edition: 2nd ed
Publisher: Pragmatic Bookshelf
Year: 2006
Language: English
Pages: 610
City: Raleigh, N.C
Preface to the Second Edition......Page 11
Introduction......Page 13
Rails Is Agile......Page 15
Finding Your Way Around......Page 16
Getting Started......Page 20
Models, Views, and Controllers......Page 21
Active Record: Rails Model Support......Page 24
Action Pack: The View and Controller......Page 29
Installing Rails......Page 31
Installing on Windows......Page 32
Installing on Mac OS X......Page 34
Development Environments......Page 36
Rails and Databases......Page 40
Keeping Up-to-Date......Page 42
Rails and ISPs......Page 43
Creating a New Application......Page 44
Hello, Rails!......Page 47
Linking Pages Together......Page 58
What We Just Did......Page 62
Building an Application......Page 64
Incremental Development......Page 65
What Depot Does......Page 66
Let's Code......Page 70
Iteration A1: Get Something Running......Page 71
Iteration A2: Add a Missing Column......Page 83
Iteration A3: Validate!......Page 86
Iteration A4: Prettier Listings......Page 91
Iteration B1: Create the Catalog Listing......Page 99
Iteration B2: Add a Page Layout......Page 103
Iteration B3: Use a Helper to Format the Price......Page 104
Iteration B4: Linking to the Cart......Page 106
Sessions......Page 109
Iteration C1: Creating a Cart......Page 112
Iteration C2: A Smarter Cart......Page 115
Iteration C3: Handling Errors......Page 121
Iteration C4: Finishing the Cart......Page 125
Iteration D1: Moving the Cart......Page 130
Iteration D2: An Ajax-Based Cart......Page 136
Iteration D3: Highlighting Changes......Page 140
Iteration D4: Hide An Empty Cart......Page 142
Iteration D5: Degrading if JavaScript is Disabled......Page 145
What We Just Did......Page 146
Iteration E1: Capturing an Order......Page 148
Iteration F1: Adding Users......Page 164
Iteration F2: Logging In......Page 172
Iteration F3: Limiting Access......Page 175
Iteration F4: A Sidebar, More Administation......Page 176
Generating the XML Feed......Page 184
Finishing Up......Page 191
Tests Baked Right In......Page 193
Unit Testing of Models......Page 194
Functional Testing of Controllers......Page 206
Integration Testing of Applications......Page 217
Performance Testing......Page 226
Using Mock Objects......Page 230
The Rails Framework......Page 233
Directory Structure......Page 234
Rails Configuration......Page 242
Naming Conventions......Page 245
Debugging Hints......Page 249
What's Next......Page 251
Generally Available Extensions......Page 253
String Extensions......Page 254
Extensions to Numbers......Page 257
Time and Date Extensions......Page 258
An Extension to Ruby Symbols......Page 259
Active Record Basics......Page 261
Tables and Classes......Page 262
Columns and Attributes......Page 263
Primary Keys and IDs......Page 269
Connecting to the Database......Page 271
CRUD---Create, Read, Update, Delete......Page 273
Relationships between Tables......Page 289
Transactions......Page 312
Acts As......Page 319
Aggregation......Page 324
Single Table Inheritance......Page 330
Validation......Page 334
Callbacks......Page 343
Advanced Attributes......Page 351
Miscellany......Page 355
Context and Dependencies......Page 358
The Basics......Page 359
Routing Requests......Page 360
Action Methods......Page 372
Cookies and Sessions......Page 383
Flash---Communicating between Actions......Page 394
Filters and Verification......Page 396
Caching, Part One......Page 402
The Problem with GET Requests......Page 409
Templates......Page 412
Builder templates......Page 414
RHTML Templates......Page 415
Helpers......Page 418
Formatting Helpers......Page 420
Linking to Other Pages and Resources......Page 423
Pagination......Page 425
Form Helpers......Page 427
Layouts and Components......Page 444
Caching, Part Two......Page 454
Adding New Templating Systems......Page 459
Introducing AJAX......Page 463
The Rails Way......Page 466
The User Interface, Revisited......Page 474
Advanced Techniques......Page 479
Sending E-mail......Page 491
Receiving E-mail......Page 499
Testing E-mail......Page 501
What AWS Is (and What It Isn't)......Page 505
The API Definition......Page 506
Dispatching Modes......Page 511
Using Alternate Dispatching......Page 514
Method Invocation Interception......Page 515
Testing Web Services......Page 518
Protocol Clients......Page 521
SQL Injection......Page 522
Cross-Site Scripting (CSS/XSS)......Page 525
Avoid Session Fixation Attacks......Page 528
Creating Records Directly from Form Parameters......Page 529
Don't Trust ID Parameters......Page 530
Don't Expose Controller Methods......Page 531
File Uploads......Page 533
Knowing That It Works......Page 534
Development Deployments......Page 536
Scaling Out......Page 538
Appendices......Page 540
Ruby Is an Object-Oriented Language......Page 541
Ruby Names......Page 542
Methods......Page 543
Classes......Page 545
Modules......Page 547
Arrays and Hashes......Page 548
Regular Expressions......Page 550
Blocks and Iterators......Page 551
Marshaling Objects......Page 552
Ruby Idioms......Page 553
RDoc Documentation......Page 555
Active Record Configuration......Page 557
Action Pack Configuration......Page 558
Test Case Configuration......Page 560
The Full Depot Application......Page 561
Bibliography......Page 584