How can I learn Ruby on Rails?

Hi.

I would like to learn Ruby on Rails to build my next dynamic website. Firs tof all, tell me please will I regret my choice for any reason? Is there anything related to Ruby on Rails that make it not good choice?

I want to know what should I learn first? My background is only HTML and CSS. Should I learn Ruby language then move to Ruby on Rails Framework or what?

Regards.

In my experience it depends on situation actually. I will choose one of the path below.

  1. I would prefer to learn the language and then framework if I have enough time to work on. ( perfect way)

  2. else with the decent level of technical information, I will start with good working samples and do a backward approach in learning ( fastest way)

With the knowledge level you have, could decide the path. In your case I would suggest 1st path. (if you programming knowledge all that differs between language is the syntax)

You will most certainly not regret it :slight_smile:

I want to know what should I learn first? My background is only HTML and CSS. Should I learn Ruby language then move to Ruby on Rails Framework or what?

I still don’t know all the ins and outs of the Ruby language itself and am highly productive with Rails.

It’s quite a natural and easy language to pick up while learning Rails.
Because it’s your first programming language there will be a steep learning curve. You need to learn about programming concepts like loops and methods, a bit about databases etc…

Still, check out http://guides.rubyonrails.org/ and start working through from top to bottom and we’ll be able to help if something doesn’t make sense.

Normally I would recommend you learn Javascript before a back-end programming language, but I guess I learned PHP before Javascript so it doesn’t really matter. Javascript is certainly something you want to know about though, so keep that in mind.

Check out this link to learn ruby on rails. http://ruby.railstutorial.org/ruby-on-rails-tutorial-book , In this site you can get all points step by step.

For one, Michael Hartl’s site is probably the best gateway into Rails: http://ruby.railstutorial.org

Then http://railsforzombies.org makes learning rails into more of a game-like experience. If that works for you, you could also try [URL=“http://tryruby.org/levels/1/challenges/0”]tryruby.org for the ruby language.

Both of the latter two sites are linked with https://www.codeschool.com/ an interesting place but costs $25US per month.

And you can try http://www.rubyinside.com/media/poignant-guide.pdf for Why’s Poignant Guide To Ruby. I can guarantee you it’s the most unusual language manual you’ll ever find; not often you get cartoon foxes to teach you how a language works.

Although I agree with what you’ve said the lack of any other programming experience on the OPs part could be to their advantage as Ruby is different to other languages in is execution. The syntax is quite unlike most other languages I’m finding. I’m just starting out with it myself and finding some oddities to it but it’s just my way of thinking as I’ve conditioned my self to expect certain things from a language, so it might be good that his/her head hasn’t been poisoned by anything else…<cough>php</cough>.

I’m working my way through the Michael Hartl book (can recommend it) and I can see how well structured and succinct in code the whole ROR dev processes is but coming from a PHP background I’m finding the concept of not adding ; at the end of a command or {} around statements/loops to be quite odd or defining a method as simply as



def my_method

  do something

end

just doesn’t feel right at the moment. Plus where Rails is concerned, well, it’s almost like pixies run the show. Things just work without much effort, length or explanation which is disconcerting starting out but I do like the experience so far. Sand boxing your work in the rails console for experimentation of new code for example is just fantastic.

Despite the alien nature of ROR so far I will say this based on my limited exposure thus far. I can appreciate already how beautiful a language Ruby is once understood and how fantastically cleaver and powerful Rails is as a technology and framework, there is so much power available. If you can master them both and the whole process, concepts and other technologies that seem to naturally stick to ROR, then being a dev could be fun and rewarding again. Pick it up now because in a few years time I can see it exploding in popularity once the naysayers realize the errors of their ways in putting it down, many of which I have to say are PHP developers it seems. Although not all, as many going to ROR seem to be disgruntled PHP devs.

I’m not exactly an expert in the matter but I’ve never felt comfortable using PHP in a framework. I’ve always liked using my own code or doing it my way as I’ve never liked any of the frame works. Most are just hodge podge and off the shelf applications are a nightmare to use in my view…wordpress, joomla etc, horrible!

One area the ROR team needs to fix is installation and set up. It is a pain in the rear to get ROR set up, configured and running at the moment I feel. I guess this is an area that will be improved as the platform matures and grows, it has to if they want more uptake as right now I feel it is definitely a barrier to entry and putting many off particularly in the commercial world.

Yes and no. It’s unlike languages descending through the C “tree” of languages. It has more in common in that respect with the LISP/Smalltalk branches.

Well, you can use them if it makes you feel better, but better is to just remember the begin…end contructs in ruby can be considered synonyms for the {} in PHP.

Best practices seem to favor using the {} option when it’s all on one line, and begin/end when it spans multiple lines.

Don’t feel bad. The amount of “magic” encountered in Rails disconcerts (or worse) all of us from time to time.

Actually, you’ll run into a lot more disgruntled java programmers in ruby, which I find fascinating, considering the effort PHP has been putting in recently to look like java. Ruby, and Rails in particular, I think has reached “the dip” in its popularity curve. It’s no longer the “new shiny” on the scene (that’s node.js) so the next couple of years will tell whether it can sustain its growth as it matures. It may continue to slide out of sight or, after a brief drop, rise even faster.

It may sound heretical to some, but while I’m fairly sure ruby will remain a player, I’m not so sure about Rails. I think we may see some new framework ideas spring up in the next few years following other paradigms than MVC. It’ll be interesting.

http://codeschool.com is a great place to start, also you should create anything that came to your mind

ROR is more than just a framework. In Ruby, I would consider OOP as a part of basics, because in Ruby, everything is an object.

I would like to learn more Ruby on Rails to build my next website in ROR.

Go to rubyonrails.org and look at their “Blog in 15 minutes” screencast to get excited.
Get a copy of O’Reilly Media’s Learning Ruby
Get a Mac or Linux box.
(Fewer early Rails frustrations due to the fact that Rails is generally developed on these.)
Get a copy of Agile Web Development with Rails.
Get the version of Ruby and Rails described in that book.
Run through that book’s first section to get a feel for what it’s like.

For me Agile Web Development with Rails was the best starting point.
Before that I tried following Michael Hartl’s site (http://ruby.railstutorial.org) but I found the book more easy to follow.

You can start with either and pay attention they are using different testing methods (TestUnit vs. Rspec) so you can also start grow a taste on which of the two you prefer.

Then, you can either read some ruby book in fast forward or start your app right away. Railscasts is also a great source for novice and advanced users.

you must download video tutorials with practice files so that by seeing videos, you may learn RoR easily. You can download it from lynda(dot)com or you can make a search on internet.

just Jump Start Rails