text.skipToContent text.skipToNavigation
  1. Home
  2. Computer Science & IT
  3. Ruby on Rails Tutorial: Learn Web Development with Rails

Ruby on Rails Tutorial: Learn Web Development with Rails, 4th edition

  • Michael Hartl

Published by Addison-Wesley Professional (November 7th 2016) - Copyright © 2017

4th edition

Overview

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

 

Used by sites as varied as Twitter, GitHub, Disney, 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, Fourth 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 5, a division of the largest chapters into more manageable units, and a huge number of new exercises interspersed in each chapter for maximum reinforcement of the material.

 

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, yet novel enough to be useful. Whatever your previous web development experience, this book will guide you to true Rails mastery.

 

This book will help you

  • Install and set up your Rails development environment, including pre-installed integrated development environment (IDE) in the cloud
  • Go beyond generated code to truly understand how to build Rails applications from scratch
  • Learn testing and test-driven development (TDD)
  • Effectively use the Model-View-Controller (MVC) pattern
  • Structure applications using the REST architecture
  • Build static pages and transform them into dynamic ones
  • Master the Ruby programming skills all Rails developers need
  • Create high-quality site layouts and data models
  • Implement registration and authentication systems, including validation and secure passwords
  • Update, display, and delete users
  • Upload images in production using a cloud storage service
  • Implement account activation and password reset, including sending email with Rails
  • Add social features and microblogging, including an introduction to Ajax
  • Record version changes with Git and create a secure remote repository at Bitbucket
  • Deploy your applications early and often with Heroku

Table of contents

Foreword to the First Edition by Derek Sivers xvii

Foreword to the Third Edition by Obie Fernandez xix

Acknowledgments xxi

About the Author xxiii

 

Chapter 1: From Zero to Deploy 1

1.1 Introduction 4

1.2 Up and Running 10

1.3 The First Application 14

1.4 Version Control with Git 31

1.5 Deploying 45

1.6 Conclusion 51

 

Chapter 2: A Toy App 53

2.1 Planning the Application 54

2.2 The Users Resource 58

2.3 The Microposts Resource 74

2.4 Conclusion 89

 

Chapter 3: Mostly Static Pages 93

3.1 Sample App Setup 93

3.2 Static Pages 99

3.3 Getting Started with Testing 110

3.4 Slightly Dynamic Pages 118

3.5 Conclusion 134

3.6 Advanced Testing Setup 136

 

Chapter 4: Rails-Flavored Ruby 145

4.1 Motivation 145

4.2 Strings and Methods 150

4.3 Other Data Structures 163

4.4 Ruby Classes 177

4.5 Conclusion 190

 

Chapter 5: Filling in the Layout 193

5.1 Adding Some Structure 193

5.2 Sass and the Asset Pipeline 217

5.3 Layout Links 227

5.4 User Signup: A First Step 240

5.5 Conclusion 245

 

Chapter 6: Modeling Users 247

6.1 User Model 248

6.2 User Validations 263

6.3 Adding a Secure Password 286

6.4 Conclusion 296

 

Chapter 7: Sign Up 299

7.1 Showing Users 300

7.2 Signup Form 320

7.3 Unsuccessful Signups 329

7.4 Successful Signups 345

7.5 Professional-Grade Deployment 358

7.6 Conclusion 362

 

Chapter 8: Basic Login 365

8.1 Sessions 366

8.2 Logging In 382

8.3 Logging Out 403

8.4 Conclusion 406

 

Chapter 9: Advanced Login 409

9.1 Remember Me 409

9.2 “Remember Me” Checkbox 433

9.3 Remember Tests 439

9.4 Conclusion 449

 

Chapter 10: Updating, Showing, and Deleting Users 451

10.1 Updating Users 451

10.2 Authorization 467

10.3 Showing All Users 483

10.4 Deleting Users 500

10.5 Conclusion 512

 

Chapter 11: Account Activation 515

11.1 Account Activations Resource 516

11.2 Account Activation Emails 525

11.3 Activating the Account 540

11.4 Email in Production 555

11.5 Conclusion 559

 

Chapter 12: Password Reset 561

12.1 Password Resets Resource 563

12.2 Password Reset Emails 574

12.3 Resetting the Password 581

12.4 Email in Production (Take Two) 595

12.5 Conclusion 598

12.6 Proof of Expiration Comparison 599

 

Chapter 13: User Microposts 601

13.1 A Micropost Model 601

13.2 Showing Microposts 616

13.3 Manipulating Microposts 631

13.4 Micropost Images 657

13.5 Conclusion 675

 

Chapter 14: Following Users 679

14.1 The Relationship Model 680

14.2 A Web Interface for Following Users 698

14.3 The Status Feed 730

14.4 Conclusion 741

 

Index 745

For teachers

All the material you need to teach your courses.

Discover teaching material