I’m extremely happy to report that I’ve finished the excellent Rails book from Daniel Kehoe, and I was able to get my little test site pushed to Heroku!
When I started looking into how I was going to learn Rails, I saw Hartl’s course mentioned many times over and went with it first. I just found it too steep of a learning curve for my very first attempt at Rails/programming, so I stopped very quickly and went onto the next course that I saw mentioned many times. Learn-Rails.com. Daniel’s Rails book walks you through setting up your computer environment, goes into good detail of how Ruby and Rails works together, gets you started with git and github, shows you how gems work and where to find them, explains the Model, View, Controller structure of Rails, and ends up showing you how to setup a basic, small website complete with a contact and email subscription form.
As you can see in previous posts, it wasn’t a walk in the park! I did hit many issues along the way, but only one was specific to the book itself. I reached out to Daniel via Twitter after posting my question on StackOverflow. He promptly responded to let me know that I was using a book version that was slightly out of date.
Without a doubt, I can recommend this for other beginners out there. I had no previous knowledge of programming, git, or Github. I hadn’t even used Terminal, but maybe 3 times prior to starting this.
I want to say thanks to Daniel for putting this book together, and for helping me get well on my way to learning this awesome language!
I also wanted to quickly share two problems and solutions that I ran into with Heroku from my last Rails update.
Towards the end of the book Daniel gets us started with pushing our app to Heroku. I was hit with an error after attempting to push:
Permission denied (publickey). fatal: Could not read from remote repository.
I looked this up on StackOverflow, and soon found the answer by Harshit Pandey to be what worked for me, minus the “gem install heroku” since that was already done previously. I had to make sure Heroku was using the same key used by Github. Once that was done I was able to push to Heroku with no problems.
And that’s it. Once I took care of those two things, my app loaded and looked the way it should!