今週のrailscasts - making generators in rails 3
http://railscasts.com/episodes/218-making-generators-in-rails-3
を見て。Rails3になって変わったgeneratorの作り方について。
基礎
内部でthorを使うようになった。
rails g generator hoge
で hoge generator のひな形を Rails.root/lib/generators 配下に作成してくれる。
利用できるメソッド
このへんは全部thorのメソッドみたい
- source_root
- generateする元ファイルの位置を指定
- argument
- 引数の設定
- class_option
- オプションの設定
- copy_file
- ファイルのコピー
- template
- テンプレートファイルを指定した場所に出力
generator ファイルに定義した public なメソッドは自動的に実行される?と言っていたような気がした。
生成するERBテンプレートの編集
ERBテンプレートは
<%% hoge %>
のように"%"を二つ重ねる必要があるらしい
気になったところ
Rails3 beta4になって新規プロジェクトの作り方が変わったっぽい。
rails new todo
underscoreメソッド
"ActiveRecord".underscore # => "active_record" "ActiveRecord::Errors".underscore # => active_record/errors