1
當我嘗試種子我的Rails應用程序4.0,我得到這個錯誤:爲什麼`rake db:seed`失敗,「不知道如何構建任務'db:seed:original'」?
$ rake db:seed --trace
** Invoke db:seed (first_time)
** Invoke db:seed:common (first_time)
rake aborted!
Don't know how to build task 'db:seed:original'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task_manager.rb:62:in `[]'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:57:in `lookup_prerequisite'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:53:in `block in prerequisite_tasks'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:53:in `map'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:53:in `prerequisite_tasks'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:199:in `invoke_prerequisites'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:178:in `block in invoke_with_call_chain'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:172:in `invoke_with_call_chain'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:201:in `block in invoke_prerequisites'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:199:in `each'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:199:in `invoke_prerequisites'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:178:in `block in invoke_with_call_chain'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:172:in `invoke_with_call_chain'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:165:in `invoke'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:150:in `invoke_task'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:106:in `block (2 levels) in top_level'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:106:in `each'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:106:in `block in top_level'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:115:in `run_with_threads'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:100:in `top_level'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:78:in `block in run'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:176:in `standard_exception_handling'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:75:in `run'
/opt/rbenv/versions/2.2.0/bin/rake:33:in `<main>'
Tasks: TOP => db:seed => db:seed:common
但我不能找到叫original
種子任務的任何引用。這是否內置到Rails?
如果我通過例如手動方式調用我的任何種子任務, rake db:seed:whatever
,它工作正常。
有趣的是,在我的種子文件夾中創建了空的文件original.seeds.rb
後,播種沒有錯誤地運行。
是什麼導致了這個錯誤?
你有db/seeds.rb嗎? – neo
不是。當我創建一個空的(並刪除'original.seeds.rb')時,它工作。任何想法爲什麼Rake希望在那裏有一個文件? –
@neo我認爲這是問題的原因。如果您想將其擴展爲答案(特別是如果您知道該文件爲何預期),我會接受它。 –