rails generate
(generate
はg
に省略可能)コマンドを使うとモデルやコントローラーを生成することが出来るが、CoffeeScriptのように不要なファイルもある。
特に手早くサンプルを作ったり学習目的でアプリを作ったりする場合、付随するファイルは何も要らないことも多い。
そのようなときは設定ファイルにその旨を書いておくことで、余分なファイルが生成されないようにすることが出来る。
具体的には、config/application.rb
に書かれているApplication
クラスに下記のコードを追加する。
config.generators do |g| g.stylesheets false g.javascripts false g.helper false g.test_framework false end
これによってどんな変化が発生するか、比較してみる。
まずはモデル。
$ rails g model Post
でPost
というモデルを作る。
設定をしなかった場合は以下のファイルが作られる。
app/models/post.rb db/migrate/xxx_create_posts.rb test/fixtures/posts.yml test/models/post_test.rb
設定した場合は以下。
app/models/post.rb db/migrate/xxx_create_posts.rb
必要最低限なファイルだけ作られているのがわかる。
次は$ rails g controller Posts
でコントローラーを作る。
設定しなかった場合。
app/assets/javascripts/posts.coffee app/assets/stylesheets/posts.scss app/controllers/posts_controller.rb app/helpers/posts_helper.rb test/controllers/posts_controller_test.rb
設定を書いておくと、コントローラーだけが生成される。
app/controllers/posts_controller.rb