Hello Dominic
To myself.
That's easy: http://rails.techno-weenie.net/question/2006/3/26/change_indentation_of_auto_generated_rails_code
Dominic Son wrote: > Hi. I'd like to edit the generated template in AR where tables are > created. > > for example, this file is created when generating a new model or > migration: > > class CreateModel < ActiveRecord::Migration > def self.up > create_table :models do |t| > # t.column :type, > > I'd like to edit the above so it'll generate this: > > class CreateModel < ActiveRecord::Migration > def self.up > create_table :models do |t| > # t.column :type, :limit => , :null => false > > Can someone point me in the right direction?
Don't modify files in Rails gems directory, it's ugly !
Write your own generator, it is also easy. The template you want to change is rails-xx//lib/rails_generator/generators/components/model/templates/migration.rb
so you have to make your own model generator, a slightly modified version :
go to your Rails Root app. cd lib mkdir generators cd generators cp -Rv PATH_TO_RAILS/lib/rails_generator/generators/components/model/ . mv model my_model cd my_model mv model_generator my_model_generator (modify templates/migration.rb or any other templates files if you like)
So your my_model generator is in RAILS_ROOT/lib/generators and you just have to do a :
script/generate my_model Foo
that you generated files exactly as you want.
Note that if you want your another rails apps to benefit from that generator, put it instead in ~/.rails/generators
If you upgrade Rails, it will still work (provided Generator API isn't changed !)
-- Jean-François.