When we use the command rails g scaffold Post title content
it will generate many files according to some templates located inside railties.
There is even a command that we can copy all templates to our application:
rake app:templates:copy
But there is one template that isn't replaced by it's counterpart inside \lib'. That's
scaffold_controller/controller.rb.tt`. I'm trying to search how can I replace this with no luck so far.
So that's my question. How can I change the template that writes the controller when we are scaffolding?
1. To override controller scaffolding generator use lib/templates/rails/scaffold_controller/controller.rb.tt
echo 'Overriden for rails g scaffold' > lib/templates/rails/scaffold_controller/controller.rb.tt
rails g scaffold user > /dev/null 2>&1 && cat app/controllers/users_controller.rb
Overriden for rails g scaffold
rails g scaffold_controller posts > /dev/null 2>&1 && cat app/controllers/posts_controller.rb
Overriden for rails g scaffold
2. To override controller generator use lib/templates/rails/controller/controller.rb.tt
echo 'Overriden for rails g controller' > lib/templates/rails/controller/controller.rb.tt
rails g controller books index > /dev/null 2>&1 && cat app/controllers/books_controller.rb
Overriden for rails g controller