Rails FUD: It ain't all about the scaffolding
February 17th, 2006 Lot of FUD about Rails around at the moment, lot of FUD. This "article":http://discuss.joelonsoftware.com/default.asp?joel.3.309321.8 seemed to whip up a little storm. First I thought it was Joel comment on Rails but it wasn't, just some guy anonymously posting on his forum. Somehow it got digged despite being nothing new in rant terms. A "reposte":http://zifus.blogspot.com/2006/02/regarding-rails-restrictions.html also got on to the front page of digg. Say What! Why is this news! Turns out it is, i think a lot of backlash is forming and sides are being taken. But there is truth in madness and although anonymous rails ranter was completely off base on some things he is right about others. So i may be massively behind rails, I’ll give an objective look at some of his points. h2. General Comments Mr Anonymous seemed to have a lot of problems with scaffolding. Lets face the truth here, scaffolding is a marketing sell. Sure it looks good in the videos but when it comes to developing applications, don't need it, don't want it. Auto generating code just isn't necessary with a framework as quick to develop on as Rails. I think DHH knows this too. The problem with this guy is that he is lead to believe Rails is all about the scaffolding and trying to use it as much as possible. I shall call this "the video delusion" h2. "1. IT TAKES THE RELATIONAL OUT OF RELATIONAL DATABASE MANAGEMENT SYSTEM" Nope not really, it just requires you specify exactly what you want from the relationship with other tables. Frankly auto determination might be a convention over configuration too far. There are many ways to user interface manage a relationship so why does anonymous want to bake one direct into the scaffolding. h2. RAILS DOESN'T PLAY WELL. WITH ANYONE. NOT EVEN ITSELF. So this just isnt true. You don't need to reboot if you change your database model. You just don't! Again with the scaffolding, stop using it and all your problems go away h2. 3. YOU CAN'T READ THE FACKING MANUAL BECAUSE THERE IS NO FACKING MANUAL. The documentation is bad, real real bad but hey its only just made version 1.0 I agree that the APIs are not enough and its hard to find exactly what you want and even the books feel out of date. Being a beginner to Rails is *hard* especially when you don't know Ruby. No one tells you that. You may get 10x productivity when you really know what you are doing, but there is learning to do first and you can't skip it. There is no one manual in one place, but there is a lot of information. Go Find! h2. 4. RAILS ATE MY DATA, OR AT LEAST STOOD IDLY BY WHILE MY DATA WAS EATEN This is a common problem in nearly all database orientated development. It's quite standard, dont' trust your database to do your validation for you. It's the applications job h2. 5. THE FIRST RULE OF RAILS IS: DO NOT TALK ABOUT RAILS' RULES! The suggestion here is to put the Rails rules front and centre to newbies. That is a great idea and should be done ASAP. In fact a newbie cheat sheet would be great. Until then check out this "one":http://www.ilovejackdaniels.com/ruby-on-rails/ruby-on-rails-cheat-sheet/ or this "one":http://www.blainekendall.com/index.php/rubyonrailscheatsheet/ h2. 6. THERE'S MORE THAN ONE PLACE TO SAY IT Yeah I’ve come across this as well. Because Ruby effectively allows you to alter any class or module in any Ruby file that gets run (unlike Java) you can put this wherever you like. But its just a convention thing, you need to understand what each file does, when it gets loaded and in which environments. Then you can make a decision. Remember Rails is Good not necessarily Easy.
Sorry, comments are closed for this article.