How should I keep up to date with the ever-changing Rails community? I have been trying to learn Rails off and on for a year now and the brick wall I keep running into is the fact that I'm trying to balance learning most of the Rails' community best practices and they keep changing direction.

For example, I obviously need to learn Rails and Ruby (I've done some work with both but I've forgotten a bit). When I was using it before it was still Rails 2.3.4, so now Rails 3 is out and changed some things; I'm not sure if Ruby 1.9 had any major changes. I like my version control, and the Rails world is solidly behind Git, so I have to use Git (again I've used it before but not recently). I want to make sure my app is solid so I want to write tests; the new trend in Rails seems to be to use RSpec or similar BDD frameworks instead of the built-in test framework, and mocks/factories instead of fixtures.

I'm having a very hard time keeping up with all the things I need to pick up to be successful using Rails, and it seems that it's always changing and I end up frustrated because I will choose something, then when I research how to do something I find loads of blog posts saying don't use it anymore, use this new thing instead.

So I have to ask how much this matters? If I'm going to be revisiting Rails I obviously want to be using Rails 3. I've used Git so I can stick with that. Should I even bother with RSpec/HAML/SASS/whatever else the "cognoscenti" is hyping or should I just focus on mastering the framework and stick with the built-in stuff (e.g. use the built-in ERB engine for HTML, Test::Unit for testing, Fixtures instead of mocks/factories, etc) as much as possible (stupid thing to ask, I know, but the way my brain works I am always torn between doing the easiest thing that will benefit me and doing things the "right" way as the really high-end guys suggest) so I can focus on actually developing my application? Should I extend that to Javascript as well, meaning should I just say screw it and use RJS or is that actually worth using jQuery (I've used jQuery for my .NET work a fair bit although I'm by no means an expert) due to the benefits?

I would like to "nail down" a stack that I can use and not deviate but again I find myself constantly wondering "If the top Rails guys are using XXX now am I hurting myself by not switching to it myself?" For example I'd like to just decide 100% on:

  • Framework: Rails (obviously) Source
  • Control: Git Test Framework:
  • Test::Unit w/Factories HTML Engine:
  • ERB Javascript Framework: jQuery

but whenever I try this there's a voice in the back of my heading saying I'm "doing it wrong" and should be using RSpec/Shoulda/HAML/library du jour instead.

  • 4
    It sounds like you're <ozzy> goin' off the Rails on a crazy train! </ozzy>! :P ...sorry, I need to get some coffee into me. – FrustratedWithFormsDesigner Apr 11 '11 at 14:27
  • 2
    I feel your pain, Wayne. I do not have a good answer for you, though. The phenomenon that you describe is the principle reason that I have stopped doing Ruby on Rails development. I don't do it as a means of full-time employment, and I feel like that the only way of keeping up to date with it all. – Adam Crossland Apr 11 '11 at 14:29
  • 1
    @FrustratedWithFormsDesigner: That made me laugh, thanks! – Wayne Molina Apr 11 '11 at 14:30
  • @Adam: That's also why I stopped trying to learn it and why I have yet to really do more than follow the tutorials and watch casts. There's just this... pressure (not really but it feels that way) that I feel whenever I try to learn it that I have to do it the way everybody else is or I'm doing it wrong. I'm the same way in .NET but in reverse; I can't do things the "wrong" way even if my co-workers do, because I "know better" – Wayne Molina Apr 11 '11 at 14:32
  • 2
    Possible duplicate of How does one keep up with all the new tools/languages/framework? – user40980 Nov 16 '15 at 21:20

Given your situation (having a hard time learning rails just with the effort of keeping up to date), I'd say you should:

  1. Pick a fairly up-to-date tutorial* to work through, and make it your goal to get through ti right from beginning to end.
  2. Be okay with possibly being out of date. Accept that it might happen, and ignore it until you have reached your first goal.

Your stack sounds good enough to me. Just tell that voice in the back of your head 'I may well be doing it wrong for now and that's okay. But once I've finished getting familiar with it this way then I'll take a look at what's new'.

A benefit of taking this approach is once you're familiar with the 'old ways', you'll be able to much better appreciate (or dismiss!) the reasons behind the next big thing.

* Personally I quite like Michael Hartl's tutorial and would recommend it.

  • Very good advice. Thanks a lot! I'll check out that tutorial as well; I have the Agile Web Development book as well but for some reason it always feels way too trivial, although the Rails reference is a godsend. – Wayne Molina Apr 11 '11 at 20:40
  • The link is broken, would that tutorial still be worth fixing the link, or should the link be removed? – Rosa Nov 16 '15 at 6:26

Not the answer you're looking for? Browse other questions tagged or ask your own question.