Best Way to Learn Ruby On Rails
# March 22, 2013 at 1:38 am
Hi All –
I’m researching different courses/ books/ etc for learning Ruby on Rails. I have pretty extensive front-end knowledge – CSS/ HTML, basic PHP and Jquery, WordPress.
I heard about a bootcamp course called [Tealeaf Academy](http://gotealeaf.com “Tealeaf Academy”) on the Startups for the Rest of Us podcast – it looks pretty good, but its expensive ($2k+)
Being a fan of CSS-tricks, I’ve signed up for the student edition of Treehouse and am currently working my way through the video lessons on there.
Anyone had any luck with certain books, other tutorial sites, Lynda.com, etc?
Thanks in advance for pointing me in the right direction and sharing your own experiences.# March 23, 2013 at 12:01 am
Here is a todo list.
Complete it in sequence and you will know enough about Ruby on Rails to build something interesting.
# Learn Ruby on Rails:
Protip: Use Linux or a Mac
Railscasts.com has excellent tutorials for ongoing study.# March 23, 2013 at 3:16 am
I’ve never picked up any framework faster than Ruby On Rails. Documentation and various resources @hotpick mentioned really helped a lot. I still have to look up certain things in the docs. just because it takes time to memorize them all. I’m already building my very first web app, effortlessly using CRUD to interact with the database. The only thing that sucks is deployment. I’ve tried Dreamhost, forget about it! As a designer/developer I want to develop apps not configure VPNs. I settled with [Heroku](http://www.heroku.com), and various sources from above suggest to go with them. I agree. But do understand if you are getting high volume traffic you will need to get off their free plan.
I would have to second using Linux or Mac. I’m a Windows user, when I do design/photography, Photoshop/Lightroom and various other business software just works on my Win7 workstation. But for developing I use my DELL Latitude laptop with Linux Mint installed. And I don’t mind going between those two environments, because I like to keep them as separate processes. In addition, it’s just much easier to manage all the things required to develop in different languages. At least for me. I’ve used [this guide to install RVM](http://rubyflewtoo.blogspot.co.uk/2012/07/installing-rvm-on-linux-mint-13.html) (app that manages dependencies) and [this one for installing Rails](http://rubyflewtoo.blogspot.com/2012/08/installing-rails-on-linux-mint-13-with.html).
If you develop with Ruby, Python, Node, PHP, etc., and need local server like Apache it’s all there in one place. If you need LAMP (Linux, Apache, MySQL and PHP) stack there is a nifty little program called tasksel.
Run this command in the terminal to install it:
`sudo apt-get install tasksel`
Then run it:
Then just select the LAMP stack and follow all the prompts.
And if you need to manage MySQL install phpMyAdmin by running:
`sudo apt-get install phpmyadmin`
to manage your database go to `http://localhost/phpmyadmin`
You should consider configuring your VirtualHosts to map to your user document folder instead of the one that defaults with Apache, which is located at `cd /var/www` because of permission issues. I’ve mapped mine to port :1000.
Installing WordPress, set up database using phpMyAdmin, then:
`cd ~/www/` my mapped out location, `~` is shortcut for your user folder;
`git clone git://github.com/WordPress/WordPress.git wordpress` you can also download/extract zip if you’re not working with Git;
`cd wordpress/` cd into the wordpress folder;
`ls -a` list all files, includes hidden with `-a` flag;
Then just head to, in my case, `http://localhost:1000/wordpress` and follow their 5min install guide. Done.
I believe most of these, if not all, will work on Mac. You might need to Google around to see how to manage all the dependencies specific to your system. Obviously, I am not telling you to use Linux, but for me it works. Use whatever you feel most comfortable with. But for anyone interested hopefully you’ll find the resources provided helpful.
You must be logged in to reply to this topic.