FactoryGirlのfactoryファイルにcolorという名前のカラムの記述があると、erb2hamlが原因でrakeタスクがこける。

migrationコマンドをうつと、wrong number of arguments (1 for 2)でマイグレーションができない。
traceログをみるとなぜかfactoryファイルの下記の記述のうち、"color"の行で落ちている。

# coding: utf-8
FactoryGirl.define do
  factory :campaigns_question do
    sequence(:note) {|n| "test#{n}"}
    color "gray"
    background "#fff"
  end
end
my-MacBook-Air:myapp bismar$ bundle exec rake db:migrate --trace
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
wrong number of arguments (1 for 2)
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/erb2haml-0.1.2/lib/erb2haml/railties/erb2haml.rake:8:in `color'
/Users/bismar/myapp/spec/factories/campaigns_questions.rb:11:in `block (2 levels) in <top (required)>'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/factory_girl-2.3.2/lib/factory_girl/syntax/default.rb:22:in `instance_eval'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/factory_girl-2.3.2/lib/factory_girl/syntax/default.rb:22:in `factory'
/Users/bismar/myapp/spec/factories/campaigns_questions.rb:3:in `block in <top (required)>'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/factory_girl-2.3.2/lib/factory_girl/syntax/default.rb:16:in `instance_eval'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/factory_girl-2.3.2/lib/factory_girl/syntax/default.rb:16:in `run'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/factory_girl-2.3.2/lib/factory_girl/syntax/default.rb:7:in `define'
/Users/bismar/myapp/spec/factories/campaigns_questions.rb:2:in `<top (required)>'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:236:in `load'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:236:in `block in load'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:225:in `block in load_dependency'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:597:in `new_constants_in'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:225:in `load_dependency'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:236:in `load'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/factory_girl-2.3.2/lib/factory_girl/find_definitions.rb:20:in `block (2 levels) in find_definitions'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/factory_girl-2.3.2/lib/factory_girl/find_definitions.rb:19:in `each'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/factory_girl-2.3.2/lib/factory_girl/find_definitions.rb:19:in `block in find_definitions'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/factory_girl-2.3.2/lib/factory_girl/find_definitions.rb:15:in `each'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/factory_girl-2.3.2/lib/factory_girl/find_definitions.rb:15:in `find_definitions'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/factory_girl_rails-1.4.0/lib/factory_girl_rails/railtie.rb:23:in `block in <class:Railtie>'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/lazy_load_hooks.rb:34:in `call'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/lazy_load_hooks.rb:34:in `execute_hook'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/lazy_load_hooks.rb:43:in `block in run_load_hooks'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/lazy_load_hooks.rb:42:in `each'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/lazy_load_hooks.rb:42:in `run_load_hooks'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/railties-3.0.14/lib/rails/application/finisher.rb:46:in `block in <module:Finisher>'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/railties-3.0.14/lib/rails/initializable.rb:25:in `instance_exec'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/railties-3.0.14/lib/rails/initializable.rb:25:in `run'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/railties-3.0.14/lib/rails/initializable.rb:50:in `block in run_initializers'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/railties-3.0.14/lib/rails/initializable.rb:49:in `each'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/railties-3.0.14/lib/rails/initializable.rb:49:in `run_initializers'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/railties-3.0.14/lib/rails/application.rb:134:in `initialize!'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/railties-3.0.14/lib/rails/application.rb:77:in `method_missing'
/Users/bismar/myapp/config/environment.rb:6:in `<top (required)>'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:242:in `require'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:242:in `block in require'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:225:in `block in load_dependency'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:597:in `new_constants_in'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:225:in `load_dependency'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.14/lib/active_support/dependencies.rb:242:in `require'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/railties-3.0.14/lib/rails/application.rb:103:in `require_environment!'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/railties-3.0.14/lib/rails/application.rb:218:in `block in initialize_tasks'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/Users/bismar/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:176:in `block in invoke_prerequisites'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `each'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `invoke_prerequisites'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:157:in `block in invoke_with_call_chain'
/Users/bismar/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/bin/rake:19:in `load'
/Users/bismar/myapp/vendor/bundle/ruby/1.9.1/bin/rake:19:in `<main>'
Tasks: TOP => db:migrate => environment


つい先日、hamlを導入した際、rakeタスクで自動でerbファイルをhamlに変換してくれるgem、erb2hamlを導入したが、変換後もgemは消さずに残しておいた。これが原因だった。

colorの記述があると、"erb2haml / lib / erb2haml / railties / erb2haml.rake"に記述されてる"color"メソッドと見なされ、エラーになってしまう。

当然、erb2hamlを消したらエラーが解消した。

erb2haml、らくちんでいいやと思って導入したが、結構雑な作りなのでおすすめはしない。
ファイルの指定もできないので、後で知ってこっちの方がよかったかもと思った。↓
http://screencasts.org/episodes/using-haml-with-rails-3