1

在我的 lib/tasks 文件夹中,我添加了一个新的 .rake 文件。

在 rake 任务中,我这样做:

p = Post.new( ....)
p.save!

当我运行我的任务时,我收到错误:

rake aborted!
uninitialized constant Post

我必须做什么才能导入我的 Post 模型?

4

2 回答 2

5

我想你可能错过了环境声明。这对于 Rake 了解您的 Rails 环境是必要的。您的 rake 任务调用应如下所示:

task :my_rake_task => [:environment] do

    # Your code here

end

让我知道这是否能解决问题!

于 2012-10-15T02:53:51.527 回答
5

您想让任务依赖于 rails 环境。您可以通过在任务声明之后指定 => :environment 来做到这一点,如下所示:

namespace :my_task do 
  desc "an example task"
  task :create_post => :environment do 
    Post.new .... # the rest of the implementation
  end
end
于 2012-10-15T02:55:36.213 回答