It is the way it is.
Well that’s not very helpful at all, is it? In all seriousness, the main thing you should realize is that a model in Rails looks at an existing table and builds methods to access the columns in your table. You don’t need a migration / schema to have a model.
Migrations in Rails are there to build the database for you but once that’s done, nothing in Rails ever looks at them again. They’re more of a utility than anything else.
Other ORM libraries, notably DataMapper, take an approach similar to the one you describe in Grails. ActiveRecord, however, prefers minimal configuration. Also, you might be interested to know that Migrations were not introduced until Rails 1.1.
If you get confused, there’s a wonderful plugin called annotate_models that I use on all my projects. It puts the schema info as comments in your models and fxtures so you have them as a reference as well as in your docs.