Railsはソースコードの自動生成が充実しているので、実行したコマンドを記録しておくと何かと便利です。コマンドを再利用する場合や、「どいういうオプションで実行したっけ?」という場合に、後から参照することが可能となります。
以下の方法は、rails new
で新規にプロジェクトを作成する際に使用したオプションを、自動的に保存しておく方法です。副作用はありません。ぜひ設定してください。
まず、お使いのtemplate.rb
の先頭に以下のように記述します。template.rb
が無い場合は、このまま保存して使ってください。
template.rb
args = self.instance_eval { @_initializer[0, 2] }.flatten
create_file "memo.txt", <<END.strip_heredoc
rails new #{args.join ' '}
END
実行方法
-m
オプションで、先ほどのtemplate.rb
を指定してrails new
を実行します。
$ rails new hoge -T -d mysql -m template.rb
実行結果
プロジェクトルートに、以下のような内容のファイルが作られます。
memo.txt
rails new hoge -T -d mysql -m template.rb
Tips
memo.txt
には、rails g
の結果も保存しておくと、migrationを作り直す時など(indexを付け忘れたことに後から気づくとか)に何かと便利です。
memo.txt
rails new hoge -T -d mysql -m template.rb
rails g scaffold Book \
title \
isbn:index \
author:belongs_to{required}