SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available in other formats.
Register your product to gain access to bonus material or receive a coupon.
Used by sites as varied as Hulu, GitHub, Shopify, and Airbnb, Ruby on Rails is one of the most popular frameworks for developing web applications, but it can be challenging to learn and use. Whether you're new to web development or new only to Rails, Ruby on Rails Tutorial, Seventh Edition, is the solution.
Best-selling author and leading Rails developer Michael Hartl teaches Rails by guiding you through the development of three example applications of increasing sophistication. The tutorial's examples focus on the general principles of web development needed for virtually any kind of website. The updates to this edition include full compatibility with Rails 7.
This indispensable guide provides integrated tutorials not only for Rails, but also for the essential Ruby, HTML, CSS, and SQL skills you need when developing web applications. Hartl explains how each new technique solves a real-world problem, and then he demonstrates it with bite-sized code that's simple enough to understand while still being useful. Whatever your previous web-development experience, this book will guide you to true Rails mastery.
This book will help you
"Ruby on Rails Tutorial by Michael Hartl has become a must-read for developers learning how to build Rails apps."
--Peter Cooper, Editor of Ruby Inside
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Gemfiles are available at https://gemfiles-7th-ed.railstutorial.org/
Code listings are available at https://github.com/learnenough/ruby_on_rails_tutorial_code_listings_7th_ed
Download the sample pages (includes Chapter 7)
Foreword xvii
Preface xix
Acknowledgments xxv
About the Author xxvii
Chapter 1: From Zero to Deploy 1
1.1 Up and Running 5
1.2 The First Application 14
1.3 Version Control with Git 35
1.4 Deploying 52
1.5 Conclusion 61
1.6 Conventions Used in This Book 62
Chapter 2: A Toy App 65
2.1 Planning the Application 66
2.2 The Users Resource 71
2.3 The Microposts Resource 87
2.4 Conclusion 104
Chapter 3: Mostly Static Pages 107
3.1 Sample App Setup 107
3.2 Static Pages 115
3.3 Getting Started with Testing 126
3.4 Slightly Dynamic Pages 135
3.5 Conclusion 152
3.6 Advanced Testing Setup 153
Chapter 4: Rails-Flavored Ruby 159
4.1 Motivation 159
4.2 Strings and Methods 165
4.3 Other Data Structures 177
4.4 Ruby Classes 192
4.5 Conclusion 204
Chapter 5: Filling in the Layout 207
5.1 Adding Some Structure 207
5.2 Sass and the Asset Pipeline 232
5.3 Layout Links 242
5.4 User Signup: A First Step 255
5.5 Conclusion 260
Chapter 6: Modeling Users 263
6.1 User Model 264
6.2 User Validations 279
6.3 Adding a Secure Password 303
6.4 Conclusion 313
Chapter 7: Sign Up 315
7.1 Showing Users 316
7.2 Signup Form 337
7.3 Unsuccessful Signups 346
7.4 Successful Signups 361
7.5 Professional-Grade Deployment 374
7.6 Conclusion 380
Chapter 8: Basic Login 381
8.1 Sessions 381
8.2 Logging In 398
8.3 Logging Out 437
8.4 Conclusion 443
Chapter 9: Advanced Login 445
9.1 Remember Me 445
9.2 "Remember Me" Checkbox 470
9.3 Remember Tests 476
9.4 Conclusion 489
Chapter 10: Updating, Showing, and Deleting Users 493
10.1 Updating Users 493
10.2 Authorization 509
10.3 Showing All Users 526
10.4 Deleting Users 544
10.5 Conclusion 556
Chapter 11: Account Activation 559
11.1 Account Activations Resource 560
11.2 Account Activation Emails 568
11.3 Activating the Account 585
11.4 Email in Production 610
11.5 Conclusion 619
Chapter 12: Password Reset 621
12.1 Password Resets Resource 623
12.2 Password Reset Emails 634
12.3 Resetting the Password 641
12.4 Email in Production (Take 2) 658
12.5 Conclusion 659
12.6 Proof of Expiration Comparison 661
Chapter 13: User Microposts 663
13.1 A Micropost Model 663
13.2 Showing Microposts 679
13.3 Manipulating Microposts 693
13.4 Micropost Images 726
13.5 Conclusion 752
Chapter 14: Following Users 755
14.1 The Relationship Model 756
14.2 A Web Interface for Following Users 774
14.3 The Status Feed 805
14.4 Conclusion 821
Index 825