The Rails 3 Way

Author:   Obie Fernandez
Publisher:   Pearson Education (US)
Edition:   2nd edition
ISBN:  

9780321601667


Pages:   768
Publication Date:   21 December 2010
Format:   Paperback
Availability:   In Print   Availability explained
Limited stock is available. It will be ordered for you and shipped pending supplier's limited stock.

Our Price $131.97 Quantity:  
Add to Cart

Share |

The Rails 3 Way


Overview

The Rails™ 3 Way is a comprehensive resource that digs into the new features in Rails 3 and perhaps more importantly, the rationale behind them. —Yehuda Katz, Rails Core The Bible for Ruby on Rails Application Development   Ruby on Rails strips complexity from the development process, enabling professional developers to focus on what matters most: delivering business value via clean and maintainable code. The Rails™ 3 Way is the only comprehensive, authoritative guide to delivering production-quality code with Rails 3. Pioneering Rails expert Obie Fernandez and a team of leading experts illuminate the entire Rails 3 API, along with the idioms, design approaches, and libraries that make developing applications with Rails so powerful. Drawing on their unsurpassed experience and track record, they address  the real challenges development teams face, showing how to use Rails 3 to maximize your productivity.   Using numerous detailed code examples, the author systematically covers Rails 3 key capabilities and subsystems, making this book a reference that you will turn to again and again. He presents advanced Rails programming techniques that have been proven effective in day-to-day usage on dozens of production Rails systems and offers important insights into behavior-driven development and production considerations such as scalability. Dive deep into the Rails 3 codebase and discover why Rails is designed the way it is—and how to make it do what you want it to do. This book will help you Learn what’s new in Rails 3 Increase your productivity as a web application developer Realize the overall joy in programming with Rails Leverage Rails’ powerful capabilities for building REST-compliant APIs Drive implementation and protect long-term maintainability using RSpec Design and manipulate your domain layer using Active Record Understand and program complex program flows using Action Controller Master sophisticated URL routing concepts Use Ajax techniques via Rails 3 support for unobtrusive JavaScript Learn to extend Rails with popular gems and plugins, and how to write your own Extend Rails with the best third-party plug-ins and write your own Integrate email services into your applications with Action Mailer Improve application responsiveness with background processing Create your own non-Active Record domain classes using Active Model Master Rails’ utility classes and extensions in Active Support

Full Product Details

Author:   Obie Fernandez
Publisher:   Pearson Education (US)
Imprint:   Addison-Wesley Educational Publishers Inc
Edition:   2nd edition
Dimensions:   Width: 17.90cm , Height: 3.90cm , Length: 22.90cm
Weight:   1.150kg
ISBN:  

9780321601667


ISBN 10:   0321601661
Pages:   768
Publication Date:   21 December 2010
Audience:   Professional and scholarly ,  Professional & Vocational
Format:   Paperback
Publisher's Status:   Out of Print
Availability:   In Print   Availability explained
Limited stock is available. It will be ordered for you and shipped pending supplier's limited stock.

Table of Contents

Foreword by David Heinemeier Hansson xxxiii Foreword by Yehuda Katz xxxv Introduction xxxvii Acknowledgments xliii About the Author xlv Chapter 1: Rails Environments and Configuration 1 1.1 Bundler 2 1.2 Startup and Application Settings 8 1.3 Development Mode 15 1.4 Test Mode 19 1.5 Production Mode 20 1.6 Logging 23 1.7 Conclusion 29 Chapter 2: Routing 31 2.1 The Two Purposes of Routing 32 2.2 The routes.rb File 33 2.3 Route Globbing 45 2.4 Named Routes 46 2.5 Scoping Routing Rules 50 2.6 Listing Routes 53 2.7 Conclusion 54 Chapter 3: REST, Resources, and Rails 55 3.1 REST in a Rather Small Nutshell 55 3.2 Resources and Representations 56 3.3 REST in Rails 57 3.4 Routing and CRUD 58 3.5 The Standard RESTful Controller Actions 61 3.6 Singular Resource Routes 64 3.7 Nested Resources 65 3.8 RESTful Route Customizations 69 3.9 Controller-Only Resources 74 3.10 Different Representations of Resources 76 3.11 The RESTful Rails Action Set 78 3.12 Conclusion 83 Chapter 4: Working with Controllers 85 4.1 Rack 86 4.2 Action Dispatch: Where It All Begins 88 4.3 Render unto View 92 4.4 Additional Layout Options 101 4.5 Redirecting 101 4.6 Controller/View Communication 104 4.7 Filters 105 4.8 Verification 111 4.9 Streaming 112 4.10 Conclusion 117 Chapter 5: Working with Active Record 119 5.1 The Basics 120 5.2 Macro-Style Methods 121 5.3 Defining Attributes 123 5.4 CRUD: Creating, Reading, Updating, Deleting 127 5.5 Database Locking 142 5.6 Where Clauses 146 5.7 Connections to Multiple Databases in Different Models 153 5.8 Using the Database Connection Directly 154 5.9 Other Configuration Options 158 5.10 Conclusion 159 Chapter 6: Active Record Migrations 161 6.1 Creating Migrations 161 6.2 Data Migration 173 6.3 schema.rb 174 6.4 Database Seeding 175 6.5 Database-Related Rake Tasks 176 6.6 Conclusion 179 Chapter 7: Active Record Associations 181 7.1 The Association Hierarchy 181 7.2 One-to-Many Relationships 183 7.3 The belongs-to Association 191 7.4 The has-many Association 200 7.5 Many-to-Many Relationships 209 7.6 One-to-One Relationships 223 7.7 Working with Unsaved Objects and Associations 226 7.8 Association Extensions 227 7.9 The AssociationProxy Class 229 7.10 Conclusion 230 Chapter 8: Validations 231 8.1 Finding Errors 231 8.2 The Simple Declarative Validations 232 8.3 Common Validation Options 242 8.4 Conditional Validation 243 8.5 Short-form Validation 245 8.6 Custom Validation Techniques 246 8.7 Skipping Validations 249 8.8 Working with the Errors Hash 249 8.9 Testing Validations with Shoulda 250 8.10 Conclusion 250 Chapter 9: Advanced Active Record 251 9.1 Scopes 251 9.2 Callbacks 256 9.3 Calculation Methods 265 9.4 Observers 268 9.5 Single-Table Inheritance (STI) 269 9.6 Abstract Base Model Classes 276 9.7 Polymorphic has many Relationships 277 9.8 Foreign-key Constraints 281 9.9 Using Value Objects 281 9.10 Modules for Reusing Common Behavior 285 9.11 Modifying Active Record Classes at Runtime 289 9.12 Conclusion 292 Chapter 10: Action View 293 10.1 Layouts and Templates 294 10.2 Partials 302 10.3 Conclusion 308 Chapter 11: All About Helpers 309 11.1 ActiveModelHelper 309 11.2 AssetTagHelper 316 11.3 AtomFeedHelper 324 11.4 CacheHelper 326 11.5 CaptureHelper 326 11.6 DateHelper 328 11.7 DebugHelper 333 11.8 FormHelper 333 11.9 FormOptionsHelper 350 11.10 FormTagHelper 355 11.11 JavaScriptHelper 358 11.12 NumberHelper 359 11.13 PrototypeHelper 361 11.14 RawOutputHelper 361 11.15 RecordIdentificationHelper 362 11.16 RecordTagHelper 363 11.17 SanitizeHelper 364 11.18 TagHelper 366 11.19 TextHelper 367 11.20 TranslationHelper and the I18n API 372 11.21 UrlHelper 391 11.22 Writing Your Own View Helpers 398 11.23 Wrapping and Generalizing Partials 401 11.24 Conclusion 407 Chapter 12: Ajax on Rails 409 12.1 Unobtrusive JavaScript 411 12.3 Ajax and JSON 419 12.3.1 Ajax link to 419 12.4 Ajax and HTML 421 12.5 Ajax and JavaScript 423 12.6 Conclusion 424 Chapter 13: Session Management 425 13.1 What to Store in the Session 426 13.2 Session Options 427 13.3 Storage Mechanisms 427 13.4 Cookies 431 13.5 Conclusion 432 Chapter 14: Authentication 433 14.1 Authlogic 434 14.2 Devise 439 14.3 Conclusion 443 Chapter 15: XML and Active Resource 445 15.1 The to-xml Method 445 15.2 The XML Builder 454 15.3 Parsing XML 456 15.4 Active Resource 457 15.5 Active Resource Authentication 465 15.6 Conclusion 469 Chapter 16: Action Mailer 471 16.1 Setup 471 16.2 Mailer Models 472 16.3 Receiving Emails 477 16.4 Server Configuration 479 16.5 Testing Email Content 479 16.6 Conclusion 481 Chapter 17: Caching and Performance 483 17.1 View Caching 483 17.2 General Caching 495 17.3 Control Web Caching 497 17.4 ETags 498 17.5 Conclusion 500 Chapter 18: RSpec 501 18.1 Introduction 501 18.2 Basic Syntax and API 504 18.3 Predicate Matchers 513 18.4 Custom Expectation Matchers 514 18.5 Shared Behaviors 517 18.6 RSpec's Mocks and Stubs 517 18.7 Running Specs 520 18.8 RSpec Rails Gem 521 18.9 RSpec Tools 531 18.10 Conclusion 533 Chapter 19: Extending Rails with Plugins 535 19.1 The Plugin System 536 19.2 Writing Your Own Plugins 537 19.3 Conclusion 547 Chapter 20: Background Processing 549 20.1 Delayed Job 550 20.2 Resque 553 20.3 Rails Runner 557 20.4 Conclusion 559 Appendix A: Active Model API Reference 561 A.1 Attribute Methods 561 A.2 Callbacks 563 A.3 Conversion 563 A.4 Dirty 564 A.5 Errors 565 A.6 Lint::Tests 567 A.7 MassAssignmentSecurity 567 A.8 Name 568 A.9 Naming 569 A.10 Observer 569 A.11 Observing 570 A.12 Serialization 571 A.13 Serializers::JSON 572 A.14 Serializers::Xml 572 A.15 Translation 573 A.16 Validations 574 A.17 Validator 578 Appendix B: Active Support API Reference 579 B.1 Array 579 B.2 ActiveSupport::BacktraceCleaner 585 B.3 ActiveSupport::Base64 586 B.4 ActiveSupport::BasicObject 586 B.5 ActiveSupport::Benchmarkable 587 B.6 BigDecimal 588 B.7 ActiveSupport::BufferedLogger 588 B.8 ActiveSupport::Cache::Store 590 B.9 ActiveSupport::Callbacks 595 B.10 Class 598 B.11 ActiveSupport::Concern 602 B.12 ActiveSupport::Configurable 603 B.13 Date 603 B.14 DateTime 609 B.15 ActiveSupport::Dependencies 613 B.16 ActiveSupport::Deprecation 617 B.17 ActiveSupport::Duration 617 B.18 Enumerable 619 B.19 ERB::Util 620 B.20 FalseClass 621 B.21 File 621 B.22 Float 622 B.23 Hash 622 B.24 HashWithIndifferentAccess 627 B.25 ActiveSupport::Inflector::Inflections 628 B.26 Integer 632 B.27 ActiveSupport::JSON 633 B.28 Kernel 634 B.29 Logger 635 B.30 ActiveSupport::MessageEncryptor 636 B.31 ActiveSupport::MessageVerifier 637 B.32 Module 638 B.33 ActiveSupport::Multibyte::Chars 645 B.34 NilClass 648 B.35 ActiveSupport::Notifications 649 B.36 Numeric 650 B.37 Object 653 B.38 ActiveSupport::OrderedHash 657 B.39 ActiveSupport::OrderedOptions 657 B.40 ActiveSupport::Railtie 658 B.41 Range 658 B.42 Regexp 660 B.43 ActiveSupport::Rescuable 660 B.44 ActiveSupport::SecureRandom 661 B.45 String 662 B.46 ActiveSupport::StringInquirer 671 B.47 Symbol 671 B.48 ActiveSupport::Testing::Assertions 671 B.49 Time 673 B.50 ActiveSupport::TimeWithZone 680 B.51 ActiveSupport::TimeZone 681 B.52 ActiveSupport::TrueClass 684 B.53 ActiveSupport::XmlMini 684 Index 687 Method Index 697

Reviews

Praise for the Previous Edition This encyclopedic book is not only a definitive Rails reference, but an indispensable guide to Software-as-a-Service coding techniques for serious craftspersons. I keep a copy in the lab, a copy at home, and a copy on each of my three e-book readers, and it's on the short list of essential resources for my undergraduate software engineering course. --Armando Fox, adjunct associate professor, University of California, Berkeley Everyone interested in Rails, at some point, has to follow The Rails Way. --Fabio Cevasco, senior technical writer, Siemens AG, and blogger at H3RALD.com I can positively say that it's the single best Rails book ever published to date. By a long shot. --Antonio Cangiano, software engineer and technical evangelist at IBM This book is a great crash course in Ruby on Rails! It doesn't just document the features of Rails, it filters everything through the lens of an experienced Rails developer--so you come our a pro on the other side. --Dirk Elmendorf, co-founder of Rackspace, and Rails developer since 2005 The key to The Rails Way is in the title. It literally covers the way to do almost everything with Rails. Writing a truly exhaustive reference to the most popular Web application framework used by thousands of developers is no mean feat. A thankful community of developers that has struggled to rely on scant documentation will embrace The Rails Way with open arms. A tour de force! --Peter Cooper, editor, Ruby Inside In the past year, dozens of Rails books have been rushed to publication. A handful are good. Most regurgitate rudimentary information easily found on the Web. Only this book provides both the broad and deep technicalities of Rails. Nascent and expert developers, I recommend you follow The Rails Way. --Martin Streicher, chief technology officer, McLatchy Interactive; former editor-in-chief of Linux Magazine Hal Fulton's The RubyWay has always been by my side as a reference while programming Ruby. Many times I had wished there was a book that had the same depth and attention to detail, only focused on the Rails framework. That book is now here and hasn't left my desk for the past month. --Nate Klaiber, Ruby programmer As noted in my contribution to the Afterword: What Is the Rails Way (To You)?, I knew soon after becoming involved with Rails that I had found something great. Now, with Obie's book, I have been able to step into Ruby on Rails development coming from .NET and be productive right away. The applications I have created I believe to be a much better quality due to the techniques I learned using Obie's knowledge. --Robert Bazinet, InfoQ.com, .NET and Ruby community editor, and founding member of the Hartford, CT, Ruby Brigade Extremely well written; it's a resource that every Rails programmer should have. Yes, it's that good. --Reuven Lerner, Linux Journal columnist


Praise for the Previous Edition This encyclopedic book is not only a definitive Rails reference, but an indispensable guide to Software-as-a-Service coding techniques for serious craftspersons. I keep a copy in the lab, a copy at home, and a copy on each of my three e-book readers, and it's on the short list of essential resources for my undergraduate software engineering course.-Armando Fox, adjunct associate professor, University of California, Berkeley Everyone interested in Rails, at some point, has to follow The Rails Way.-Fabio Cevasco, senior technical writer, Siemens AG, and blogger at H3RALD.com I can positively say that it's the single best Rails book ever published to date. By a long shot.-Antonio Cangiano, software engineer and technical evangelist at IBM This book is a great crash course in Ruby on Rails! It doesn't just document the features of Rails, it filters everything through the lens of an experienced Rails developer-so you come our a pro on the other side.-Dirk Elmendorf, co-founder of Rackspace, and Rails developer since 2005 The key to The Rails Way is in the title. It literally covers the way to do almost everything with Rails. Writing a truly exhaustive reference to the most popular Web application framework used by thousands of developers is no mean feat. A thankful community of developers that has struggled to rely on scant documentation will embrace The Rails Way with open arms. A tour de force!-Peter Cooper, editor, Ruby Inside In the past year, dozens of Rails books have been rushed to publication. A handful are good. Most regurgitate rudimentary information easily found on the Web. Only this book provides both the broad and deep technicalities of Rails. Nascent and expert developers, I recommend you follow The Rails Way.-Martin Streicher, chief technology officer, McLatchy Interactive; former editor-in-chief of Linux Magazine Hal Fulton's The RubyWay has always been by my side as a reference while programming Ruby. Many times I had wished there was a book that had the same depth and attention to detail, only focused on the Rails framework. That book is now here and hasn't left my desk for the past month.-Nate Klaiber, Ruby programmer As noted in my contribution to the Afterword: What Is the Rails Way (To You)?, I knew soon after becoming involved with Rails that I had found something great. Now, with Obie's book, I have been able to step into Ruby on Rails development coming from .NET and be productive right away. The applications I have created I believe to be a much better quality due to the techniques I learned using Obie's knowledge.-Robert Bazinet, InfoQ.com, .NET and Ruby community editor, and founding member of the Hartford, CT, Ruby Brigade Extremely well written; it's a resource that every Rails programmer should have. Yes, it's that good.-Reuven Lerner, Linux Journal columnist


Praise for the Previous Edition This encyclopedic book is not only a definitive Rails reference, but an indispensable guide to Software-as-a-Service coding techniques for serious craftspersons. I keep a copy in the lab, a copy at home, and a copy on each of my three e-book readers, and it's on the short list of essential resources for my undergraduate software engineering course. --Armando Fox, adjunct associate professor, University of California, Berkeley Everyone interested in Rails, at some point, has to follow The Rails Way. --Fabio Cevasco, senior technical writer, Siemens AG, and blogger at H3RALD.com I can positively say that it's the single best Rails book ever published to date. By a long shot. --Antonio Cangiano, software engineer and technical evangelist at IBM This book is a great crash course in Ruby on Rails! It doesn't just document the features of Rails, it filters everything through the lens of an experienced Rails developer--so you come our a pro on the other side. --Dirk Elmendorf, co-founder of Rackspace, and Rails developer since 2005 The key to The Rails Way is in the title. It literally covers the way to do almost everything with Rails. Writing a truly exhaustive reference to the most popular Web application framework used by thousands of developers is no mean feat. A thankful community of developers that has struggled to rely on scant documentation will embrace The Rails Way with open arms. A tour de force! --Peter Cooper, editor, Ruby Inside In the past year, dozens of Rails books have been rushed to publication. A handful are good. Most regurgitate rudimentary information easily found on the Web. Only this book provides both the broad and deep technicalities of Rails. Nascent and expert developers, I recommend you follow The Rails Way. --Martin Streicher, chief technology officer, McLatchy Interactive; former editor-in-chief of Linux Magazine Hal Fulton's The RubyWay has always been by my side as a reference while programming Ruby. Many times I had wished there was a book that had the same depth and attention to detail, only focused on the Rails framework. That book is now here and hasn't left my desk for the past month. --Nate Klaiber, Ruby programmer As noted in my contribution to the Afterword: What Is the Rails Way (To You)?, I knew soon after becoming involved with Rails that I had found something great. Now, with Obie's book, I have been able to step into Ruby on Rails development coming from .NET and be productive right away. The applications I have created I believe to be a much better quality due to the techniques I learned using Obie's knowledge. --Robert Bazinet, InfoQ.com, .NET and Ruby community editor, and founding member of the Hartford, CT, Ruby Brigade Extremely well written; it's a resource that every Rails programmer should have. Yes, it's that good. --Reuven Lerner, Linux Journal columnist


Author Information

Obie Fernandez has been hacking computers since he got his first Commodore VIC-20 in the eighties, and found himself in the right place and time as a programmer on some of the first Java enterprise projects of the mid-nineties. Obie has been evangelizing Ruby on Rails online via blog posts and publications since early 2005. He has traveled around the world relentlessly promoting Rails at large industry conferences. As CEO and Founder of Hashrocket, Obie specializes in orchestrating the creation of large-scale, web-based applications, both for startups and mission-critical enterprise projects. He still gets his hands dirty with code on at least a weekly basis and posts regularly on various topics to his popular technology blog.

Tab Content 6

Author Website:  

Countries Available

All regions
Latest Reading Guide

April RG 26_2

 

Shopping Cart
Your cart is empty
Shopping cart
Mailing List