Hacker News new | past | comments | ask | show | jobs | submit login
Ruby on Rails Tutorial, 2nd edition (railstutorial.org)
174 points by mhartl on April 20, 2012 | hide | past | favorite | 33 comments



Went through this recently and it's great. Bootstrap is a nice addition -- I know people complain about too many Bootstrap sites, but developing something that looks good right off the bat is highly satisfying.

The only problem I ran into is that when using spork and guard, the test environment didn't always get reloaded (not sure if I recall the exact conditions in which that happened) and so I got some unexpected errors/test failures on occasion (resolved by restarting spork/guard). There's a stack overflow entry on this, iirc.


The Spork caveat is mentioned in the book (http://ruby.railstutorial.org/chapters/static-pages#code:rsp...):

One word of advice when using Spork: after changing a file included in the prefork loading (such as routes.rb), you will have to restart the Spork server to load the new Rails environment. If your tests are failing when you think they should be passing, quit the Spork server with Control-C and restart it.

That doesn't mean you won't end up on Stack Overflow, though. I end up there all the time myself, and I wrote the damn thing.


That doesn't mean you won't end up on Stack Overflow, though. I end up there all the time myself, and I wrote the damn thing.

If that was eliminated, than spork would be an absolute no brainer.


The thing I like most about using bootstrap together with less is just how easy it is to override the default styles. You can use bootstrap just to get something in the ballpark, and then just tweak it to get to something that's final.


Beginner here, I'm a mechanical engineer with very little experience with programming. I tried to follow the book this week but found it little bit difficult to follow. Question: Should I go learn the basics of Ruby first or should I power through hoping to learn everything along the way? If you think that I should learn the basics first, would you recommend learnrubythehardway or something else? Thanks in advance!


As others have mentioned, there are plenty of good Ruby tutorials around. Personally, I thought "why's (poignant) Guide to Ruby"[1] was pretty great. It goes off topic quite a lot, but I think it's a joy to read while still learning the core concepts.

[1] http://mislav.uniqpath.com/poignant-guide/


yeah. This is the best textbook I've ever read, period. The tangents are actually quite helpful, because they keep you motivated to keep reading, and slow down the pace a bit. Also check out tryruby.org for an awesome interactive tutorial, which was originally written by the poignant author. Good luck, and chunky bacon (you'll get it when you read the book, which you absolutely should do)!


If you're finding the programming challenging, I recommend Beginning Ruby by Peter Cooper.


I started learning Ruby and Ruby on Rails a few months ago. I've found it much easier to learn the basics of Ruby before diving into Rails. I started with reading Learn to Program by Chris Pines. The book is aimed at someone new to programming. Does a great explaining programming and Ruby.


I second this. Pine's book has good learning flow. It makes you think through programming problems with the tools at hand; it prepares you just enough for practice examples, requiring you to work hard for the answers. This results in a very fun and effective learning process, and a long-lasting knowledge of basic Ruby idioms.


Are you specifically trying to learn Ruby on Rails? Or just programming/just web development?


Yes, ruby on rails. Learning to start on a webapp project I have in mind. The reason I want to learn ruby on rails as oppose to PHP or Phython is because my friend/partner is more comfortable using ruby on rails. Therefore, in order to collaborate with him, I should learn ruby on rails. Having said all that, I would still like to hear your opinion on what language I should start on.. if you have one. Thanks.


Learning Ruby on Rails will give you a great understanding of how to build web applications, it will give you lots of tools that let you do so quickly, and it will introduce you to an elegant, powerful language that is a joy to use. But the best reason for you, personally, to learn RoR is that you have a friend and partner that would like to collaborate on something with you, and they are (hopefully!) willing to help you.


Both. Learn ruby and rails.


tl;dr: The Rails Tutorial 2nd edition PDF is out; early access to the 2nd edition screencasts is open; use the code "rt2ndEd" through the end of April to get a 20% discount. Go to http://railstutorial.org/ for more information.

By the way, I finally broke down and got an iPad (way overdue, I know), which finally motivated me to fiddle with the Rails Tutorial PDF fonts. The result (14pt for the main text and ~10pt for tables and code samples) was a bit tricky to achieve, but it looks good on a Kindle and great on an iPad. Someday I may go to the trouble of making ePub and mobi formats as well, but for now the PDF is smokin'.


Purchased and read back to back the first edition of the book. Very glad to see an updated edition, it hasn't been that long, but a lot has changed in the meantime!

Michael, I was looking through the online version of the book and I couldn't find any indication that I was reading the 2nd edition. I apologize if I simply missed it, otherwise I think it might be worthwhile mentioning in the preface that what we're looking at the 2nd ed.


The Rails version number is highlighted in the right-hand margin (3.2 indicating the 2nd edition). Also, to make the choice easy, the 2nd edition is now the default.


It took me about 30 min today to figure out why when I started Chapter 5 your Application Controller had different content than mine (missing the blueprint, etc). Would you recommend the 2nd edition although I am halfway through the first edition?


Yes, I recommend switching to the 2nd edition. I suggest you start with Chapter 3.


Awesome, thanks!


It would be nice to cover Ruby/RVM under Cygwin as well in addition to RailsInstaller. As long as the right Cygwin packages are installed (git, readline, wget, patch, make, gcc, libsqlite3-devel, libxml2-devel, libxslt-devel) RVM installs just fine and then the reader will be able to follow all the remaining examples in the book directly.

You could add something like this:

Ruby with Cygwin (Windows)

Another option on Windows is install Ruby under Cygwin. If you are already using Cygwin then installing RVM and Ruby is done the same way you would do it on Linux/OSX. If you do go the Cygwin route then throughout the rest of the book just follow the Linux/OSX examples. Here are the steps:

First, make sure you have the following Cygwin packages installed: git, readline, wget, patch, make, gcc, libsqlite3-devel, libxml2-devel, libxslt-devel.

Then install RVM: curl -L get.rvm.io | bash

Then just follow the steps listed in the next section to install Ruby.


I have the first edition and it's great. You can either poke around on Stack Overflow for hours to see what the "best" approaches are - OR just get this book and bookmark heavily :)


This does look interesting. Can't quite figure out if it would suit me. I'm interested in learning Rails but I haven't done any Ruby before. I do a lot of C#, ASP.NET MVC, RavenDB, MySQL/SQL server and AppHarbor, so I understand MVC and web development environment from the .NET side.

Would you think this book and screencasts would work for my skill level or should I use another book to learn more about Ruby?


It's definitely worth reading.

Although as a person with substantial programming experience, I would recommend you to have a look at Chapter 4 first. The first few chapters deal with code examples that are not meant to be understood (at that point), but knowing the "Ruby way" will help you to figure out most of it. The book also is more holistic about Web Development; Rails, although being the main focus, isn't all that it covers. Version Control (GIT) and Deployment are explored as well. Also, the author having beginners in mind, goes through the terminal stuff a bit slower.

You might find yourself skimming few pages along the way, but the book does an extremely good job at getting you to the point where you can and know what you want to do next.


I am reading the book on safaribooksonline and commit to github. ( https://github.com/alder101/rails-tutorial ) The book is great. Thank you Michael.

I think that experience of reading such "Learn by example" books would be even better if:

* Each chapter or section are issues on github.

* Examples are commits, associated with the issue.

* Extensive use of labels as book index.


I agree in principle, but the situation you describe would be a maintenance nightmare on my end.


How are the 2nd edition screencasts going to differ from the first edition ones?


From http://ruby.railstutorial.org/#new:

    Fully updated for Rails 3.2 and Ruby 1.9
    All-new design using Twitter's Bootstrap
    Coverage of the new asset pipeline, including Sprockets & Sass
    Behavior-driven development (BDD) with Capybara & RSpec
    Better automated testing with Guard & Spork
    Roll your own authentication with has_secure_password
    An introduction to Gherkin & Cucumber
I've also converted to a two-pane editor setup using Sublime Text 2, which is especially nice for TDD. See http://youtu.be/REuxSzMtcJA for a sample video.


I purchased the first edition, any upgrade plan?


Check your email for a coupon code. As far as upgrading the app itself, so much has changed that I recommend starting from scratch. (It'll go much faster the second time around.)


My bad, just checked my e-mail. Thanks!


Just bought the screencasts! Very excited :D


Same here. Looking forward to watching and learning a ton!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: