You have to make a choice. Choose...wisely.

Get occasional notifications about things like product discounts, blog posts, and new or updated tutorials. Unsubscribe at any time.

Gift Delivery Options
Quick Checkout
or Pay by Credit Card
Error processing your payment
  • You didn't choose whether or not to be added to the mailing list
Confirm
$0.00

Payments and credit card details are securely managed and protected by Learn Enough's payment processor, Stripe. More information on their site:

CART
Total
$0.00

Your Cart is Empty

$30
$300
$300
$XY
$XY
1234

Learn professional-grade web application development with Ruby on Rails

The Ruby on Rails Tutorial, 6th Ed. Application Development 02
Since its initial publication in 2010, the Ruby on Rails Tutorial has been one of the leading introductions to web development. In this bestselling tutorial, you’ll learn how to develop and deploy real, industrial-strength web applications with Ruby on Rails, the open-source web framework that powers top websites such as Hulu, GitHub, Shopify, and Airbnb. This new 6th edition has been fully updated for Rails 6. Read full post
- or -
SCROLL DOWN TO LEARN MORE
ebooks
883 pages
screencasts
20 hours
course
14 chapters
 
272 videos
 
310 exercises

Get Started Now!

Buy as Course or Downloads

$ 29
per month
Course

Full online version of the tutorial, embedded streaming videos for all sections, exercises with editable answers, progress tracking, and membership in the Learn Enough Society (community exercise answers, private chat group). Pause your subscription at any time!

starting at
$ 39
Downloads

Downloadable offline versions of the book and screencast videos are available as an a la carte purchase. When you purchase the offline versions, there is no subscription required and the files are yours to keep forever!

What’s Learn Enough?

Learn Enough is a tech education company founded by Michael Hartl, Lee Donahoe, and Nick Merwin to teach essential technical skills for the 21st century. Learn Enough offers ebooks, videos, and online courses covering subjects such as the Command Line, Text Editor, Git, HTML, CSS & Layout, JavaScript, and Ruby.

The culmination of the Learn Enough curriculum is learning professional-grade web development with—you guessed it!—the Ruby on Rails Tutorial.

You can get all of the Learn Enough tutorial courses for one monthly price with the Learn Enough All Access Subscription. The All Access subscription includes all 9 Learn Enough courses, including the full Ruby on Rails Tutorial. Get online book content, hours of streaming videos, exercise answers, and more!

Need a little help?

Learn Enough offers a generous scholarship program to help out in case cost is a factor. We’ve already awarded over 1500 Learn Enough Scholarships to a wide variety of recipients, including students, people between jobs, and residents of countries with unfavorable exchange rates. Applications are quick, easy, and 100% confidential. Learn More

Money-Back Guarantee

All Learn Enough tutorials come with a 60-day 100% money-back guarantee. If for any reason you aren’t satisfied with any tutorial purchase, just let us know and we’ll refund your payment.

Learn to Make a Real Web Application

In the Ruby on Rails Tutorial

Tutorial 02 in the
Application Development Series

With the foundations laid by the previous Learn Enough tutorials, you're now ready to learn how to develop dynamic web applications. You’ll start by learning the elegant Ruby programming language, using it both for general-purpose programming and to make a simple web application. Then you’ll learn how to make professional-grade web applications with Ruby on Rails using the Rails Tutorial, the leading introduction to web development with Rails. In a final optional tutorial, you’ll learn how to use Action Cable to make real-time web apps that respond instantly to user input. By the time you finish these courses, you'll be ready to start work as a freelancer, get a job as a developer, or start a web-based company of your own.

Want to buy the downloadable version of all the tutorials in the bundle, check out our bundled download options!

Professional-grade web development

Building a real web application

The Ruby on Rails Tutorial teaches you how to develop custom web applications with the popular Ruby on Rails web framework. Since its launch in 2010, the Ruby on Rails Tutorial has been the leading introduction to web development with Rails.

The Ruby on Rails Tutorial is designed to give you a thorough introduction to web application development, including a basic grounding in Ruby, Rails, HTML & CSS, databases, version control, testing, and deployment—sufficient to launch you on a career as a web developer or technology entrepreneur. If you already know web development, this book will quickly teach you the essentials of the Rails framework, including MVC and REST, generators, migrations, routing, and embedded Ruby.

App development principles

The basics of working with Rails

The Ruby on Rails Tutorial takes an integrated approach to web development by building three example applications of increasing sophistication, starting with a minimal hello app, a slightly more capable toy app, and a real sample app. The emphasis throughout the tutorial is on general principles, so you will have a solid foundation no matter what kinds of web applications you want to build.

Setting up your dev environment

Web development requires tools

In the first chapter, you’ll get started with Ruby on Rails by installing all the necessary software and by setting up your development environment. You’ll then create your first Rails application. The Rails Tutorial emphasizes good software development practices, so immediately after creating your fresh new Rails project you’ll put it under version control with Git. And, believe it or not, in the chapter you’ll even put your first app on the wider web by deploying it to production.

Simple toy application

It might not be pretty, but it works

In Chapter 2, you’ll make a second project, whose purpose is to demonstrate the basic workings of a Rails application. To get up and running quickly, you’ll build this toy app using an automatic code generator; because this code is both ugly and complex, Chapter 2 will focus on interacting with the toy app through its URLs using a web browser.

Putting everything together

Putting all your knowledge into action

The rest of the tutorial focuses on developing a single large real sample application, writing all the code from scratch. You’ll develop the sample app using a combination of mockups, test-driven development (TDD), and integration tests. You’ll get started in Chapter 3 by creating static pages and then add a little dynamic content. You’ll take a quick detour in Chapter 4 to learn a little about the Ruby language underlying Rails. Then, in Chapter 5 through Chapter 12, you’ll complete the foundation for the sample application by making a site layout, a user data model, and a full registration and authentication system (including account activation and password resets). Finally, in Chapter 13 and Chapter 14 you’ll add microblogging and social features to make a working example site.

The result is a thorough grounding in web application development that will serve you well as a technical manager, entrepreneur, or professional software developer.

Happy people

saying nice things!

David Heinemeier Hansson Creator, Ruby On Rails
About the Text Editor Tutorial

This is a strong introduction into Text Editor usage for programming. By the end of it you will have a base knowledge to be able to utilize the various text editors available, and be informed enough to know if this is something more that you want to pursue.

— viper941
Amazon link

A very well-written book.

I would recommend it for the novice as it provides a very quick but comprehensive overview of the 3 different categories of editors i.e. well established editors (vim, EMACS), modern editors (Sublime Text, Atom) and cloud editors (c9). The book provides enough detail to comfortably start using both vim and Atom.

In addition, I think it would be useful for people who have been using editors for years. As some one who has grown up with vim and eclipse-based IDE editors for code development, Michael’s very informative book was excellent in motivating me to start using Atom again.

I had toyed with cloud editors before, but this book motivated me to try the c9 editor.

Most importantly, I found the book fun to read, educational and useful straight away.

— Amazon Customer
Amazon link

This is a great book as an intro to text editors in coding. In Learn Enough Text Editor to Be Dangerous, Michael Hartl has a unique approach, emphasizing core principles and technical sophistication, rather than rote learning. All the Learn Enough series tutorials share this approach in a way that makes them consistent yet complementary, not repetitive. Each of the skills in the series touches on and supports the others, but all are complete by themselves.

— Jacob Rale
Amazon link

I stumbled upon your website by luck a couple weeks back and since then I have gone through the Developer Fundamentals series, which I have to say exceeded my expectations and filled in many gaps in my knowledge which multiple other online tutorials failed to do.

— Tayyab I.
<blockquote class="twitter-tweet" data-cards="hidden" data-lang="en"><p lang="en" dir="ltr">I&#39;ve done a lot of programming tutorials and I just want to commend <a href="https://twitter.com/LearnEnough?ref_src=twsrc%5Etfw">@LearnEnough</a>&#39;s intro tutorial (text editor, git, terminal, HTML) for showing how to make a website and publish it to the world. None of the other tutorials have made it &quot;click&quot; like this one. Thanks guys. <a href="https://t.co/1hQvaTWQdt">pic.twitter.com/1hQvaTWQdt</a></p>&mdash; Calvin Fung (@theCalvinEffect) <a href="https://twitter.com/theCalvinEffect/status/1084602512861057024?ref_src=twsrc%5Etfw">January 14, 2019</a></blockquote>
Jimmy Wales Founder, Wikipedia

Q: What is Jimmy Wales' favorite book?

A: It changes often. At the moment, it’s Ruby on Rails Tutorial by Michael Hartl. :)


Quora link
About the HTML Tutorial

The tutorial is very well written, easy to follow and enjoyable. One thing I especially like is the way you not only learn the basics of the subject (HTML in this case) but also get a flavour of how to actually think about and begin a project developing a website. It also builds on ideas and processes for collaborating on such projects with other people.

— Brian
Amazon link

I’ve done quite a few tutorials about HTML and I found this one to be the easiest to follow while giving me the most sophisticated understanding of the important points in HTML. It was also great practice for my Git skills, as it builds on the previous Learn Enough Git tutorial. I wouldn’t really recommend any other place to start off from than this Learn Enough series.

— Amazon Customer
Amazon link

Very happy with this new tutorial by Michael Hartl. It follows the same structure as the rest of his tutorials. Having done quite a lot of HTML and other related coding tutorials online myself, I find them to be the best so far. They offer a truly immersive experience and explain everything A to Z, from getting started to everything you need to know to have whatever you are building up and running.

— Pere C.
Amazon link
About the Learn Enough Courses

I must say, this Learn Enough series is a masterpiece of education. Thank you for this incredible work!

— Michael K.

I must say, this Learn Enough series is a masterpiece of education. Thank you for this incredible work!

— Michael K.
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">I have nothing but fantastic things to say about <a href="https://twitter.com/LearnEnough?ref_src=twsrc%5Etfw">@LearnEnough</a> courses. I am just about finished with the <a href="https://twitter.com/hashtag/javascript?src=hash&amp;ref_src=twsrc%5Etfw">#javascript</a> course. I must say, the videos are mandatory because <a href="https://twitter.com/mhartl?ref_src=twsrc%5Etfw">@mhartl</a> will play the novice, and share in the joy of having something you wrote actually work! 🤓</p>&mdash; claudia marie (@StarvingHearts) <a href="https://twitter.com/StarvingHearts/status/1134234858157355008?ref_src=twsrc%5Etfw">May 30, 2019</a></blockquote>

I want to thank you for the amazing job you have done with the tutorials. They are likely the best tutorials I have ever read.

— Pedro I.

I have been trying to learn web development and programming on and off for the past 3 years and your website is the first one that I feel does the job right.

— Janelle S.

Just bought the new ebook and want to say keep up the great work!! The Learn Enough to Be Dangerous series re-ignited my desire to code after 10+ years of “meh”.

— Diane Y.

The Learn Enough Society and the courses are incredible. It’s the best value in the market of online courses in my opinion. Like you say, it’s learning to tech, which is very useful in our world.

— Sébastien D.

I just meant to tell you: your tutorial books from the Learn Enough series are awesome! The books are well-written, clear, concise, super-useful, and even fun to read. Thank you so, so much for this! I have bought the first three and will buy whatever you publish next. Keep up doing this very good work and thanks again.

— Pierre W.

Have been following the whole “Learn Enough to Be Dangerous” series and am VERY impressed with it. I am a project manager who works with software developers daily. These sessions have provided me with a huge amount very useful information, to the extent that I now not only understand what the dev guys are talking about, but am starting to use the tools (command line, Git, etc.) that they use.

— Brian
Amazon link

Michael Hartl is one of the best educators around when it comes to web development. I have been following him for a long time, and everything he produces is top quality. If you are looking for a quick way to become a thorough and productive professional web developer, Hartl’s books are a great place to start.

— Abram Bailey
Amazon link
<blockquote class="twitter-tweet" data-conversation="none" data-lang="en"><p lang="en" dir="ltr">Also - if you are working through <a href="https://twitter.com/RailsTutorial?ref_src=twsrc%5Etfw">@RailsTutorial</a> you will probably check out <a href="https://twitter.com/LearnEnough?ref_src=twsrc%5Etfw">@LearnEnough</a> quite soon, which is an incredible resource for people starting out. Same high quality as the rails tutorial, while still digestible for people starting out.</p>&mdash; Michael Wallbaum (@mwallba) <a href="https://twitter.com/mwallba/status/988590924203679744?ref_src=twsrc%5Etfw">April 24, 2018</a></blockquote>

Hi, my name is Philip, and I’m a beginning learner of web development. I’ve dabbled in small ways in Ruby/Rails for about a year and a half. Occasionally, I write ruby scripts to solve problems at my job. I also dabble in learning: JavaScript, Ember, more Ruby/Rails, brief intro readings into Scala.

I’ve tried Codeschool, Codecademy, and I’ll stop there, so you don’t spend the next 3 hours reading all the different learning resources I’ve tried.

Ruby on Rails Tutorial (Rails 5) is undoubtedly, the most effective and educational resource I’ve ever come across when it comes to learning anything about web development or writing any code on any level.

Here’s what you seem to understand that everyone else just gets wrong: There’s a big spectrum between the very beginner basics: declaring variables, to voodoo, magical, incantational trickery of witchcraft, like building your own web server.

Almost all tutorials make this mistake. The first couple “lessons” are good for people who don’t even have a clue what computer programming is and then suddenly, there’s a big jump to what seem to be concepts that only seasoned developers have mastered.

Thanks for such a great, educational guide in Ruby on Rails.

— Philip

If that all sounds good...

Try the Tutorial Out

About the Author
Michael-hartl

Michael Hartl

Michael Hartl is the creator of the Ruby on Rails Tutorial, one of the leading introductions to web development, and is cofounder and principal author at Learn Enough. Previously, he was a physics instructor at the California Institute of Technology (Caltech), where he received a Lifetime Achievement Award for Excellence in Teaching. He is a graduate of Harvard College, has a Ph.D. in Physics from Caltech, and is an alumnus of the Y Combinator entrepreneur program.

Join the Mailing List

Get occasional notifications about things like product discounts, blog posts, and new or updated tutorials. Unsubscribe at any time.