I've been using the Django framework for a reasonable amount of time now for my projects, so I thought it was time to try out something new. I had never tried Ruby on Rails, or ruby for that matter, and heard plenty about it. First step was to learn Ruby the language, which is what RoR is built with.
After a little looking around I found the ruby documentation bundle which included helpfull FAQs and the Ruby programming book: "The Pickaxe". It was a very nice read and I quickly got up to speed with the language basics. Overall I like python better, but that is just my opinion so don't think one is better than the other just because I do.
Ok, that wasn't too hard, RoR should be quick to learn! Oh, wait a second... Hay! Don't you think the home page should include some documentation!? Maybe I'm just spoiled by Django's documentation where they have very complete, accessable, and easy to understand tutorials and references (without stupid frames... I hate how much ruby documentation uses frames), but the only help on the Ruby on Rails home page is a couple screencasts, two dead tree books, and some links to some third party tutorials which were outdated, utterly unhelpful and seemed to talk about all the wrong things (or are they meant for people new to programming period?) I guess there was also the API manuals... but, well... :P
I'm sad to say I never was able to find any good online documentation. So I downloaded two of the screencasts. The first one was cool yeah, but it had one thing I hated (besides being impossible to seek), I hate the idea of creating the tables first and then everything around them. That's just wrong in my mind. I want to be able to use the sqlite database for development and then mysql or postgresql for deployment. I don't want my application to be tied to one type of database. I had just about given up when I remembered the second screencast. It was on migration. Now that, in my opinion, is very very cool. I could just run "script/generate model mymodel" and it created a nice migrate file. In that file I could program what fields I want independent of a database. I could then run "rake migrate" (it says it's deprecated, but I cant figure out what I'm supposed to use instead) to get the database setup and that in turn let me use the cool scaffold script! There is a lot more cool stuff to migration than that, of course, and I was very happy to finally get all that figured out.
Now that was a bit harder than learning Ruby, but I finally figured out how to do the basics of generating models, controllers, and views. I was able to find some documentation by reading the Rails source - but it's not very accessable.
So how do I like Rails? I think their are some cool ideas in it, but... I don't know. Maybe I just haven't figured out the language and framework enough, but overall, I like Django better. :) I was hoping I could do something like @post.comments to get all comments related to that post in the template (and the controller for that matter), it seemed awkward to get the comments any other way. Again, I just don't know... maybe it would be different if I could find some good documentation (like Django ;) ).
Just like languages, it's all about personal opinion. I'm not going to say Django is better than Rails or vise-versa because this post isn't a comparison between the two.
So that was my experience with RoR. And if you are trying to decide which to go with, I would recommend Django as it is much easier to learn.
