Bottom Up ORM / scaffolding

Hi, I am a total newbie to ruby on rails, but have been investigating it and ruby and ruby on rails seem to have a LOT of things i really like about a programming language.. liked most of it.. except 1 thing..

And that is ruby on rails scaffolding, it build up ur basic model view controller from the database! I really dont like that..

I am the kind of developer that likes to design his application object oriented (UML), and base the application on that.. not on the database that i derive from the object model..

By building ruby objects bottom up from the database i loose all kinds of things, like generalization, association classes, interfaces...

Probably this can all be re-adjusted after scaffolding, but im looking for the perfect language to sink my head in.. with everything i like.. possibly build my career on it.

Can somebody tell me if i am right about what im saying about ruby on rails scaffolding or not?

Regards, Klaas

Rails expects you to be building your system on top of a database. Its not just Rails scaffolding (auto generation of Rails code).

Rails doesn't put a gun to your head - you could easily add object only relationships (no Joins) into your models. Your performance would be crippled however.

You could also look into Nitro/Og, a competing Ruby Web MVC framework to Rails but it has a different philosophy: You design your model objects first, and it figures out your best-fit database.

I wouldn't be the strongest fan of UML-generated code approaches in any language, and spitting out Ruby code from Rational Rose or whatever just seems wrong really - UML implies static which just defeats the point of using Ruby in most cases.

You should really at least try to come to terms with Rails way of thinking however.

Hi richard, Thank you very much for your help!

What do you mean with UML implies static? You mean that the model cannot change? You mean that ruby on rails adjusts the model if the database changes right... aha.. never thought of it in that way. It is only that UML is just more powerful than relational, and what i have read about the MVC framework, is that it is build that way because model changes least, then controller, and view changes most..

I sometimes wonder what the big deal is with anticipating a dynamically changing model, especially when you are already working with an MVC framework that will prevent you getting into to much trouble when your model changes.. If your model changes a lot, u have not designed the right model for your application, because i do this daily i know that it takes a lot to setup a model that takes everything into consideration. I also now that it is almost impossible to get everything right the first time, but thats why there is prototyping ..

I would like to hear what people have to say to this..

greets, klaas-jan