在我的 lib/tasks 文件夹中,我添加了一个新的 .rake 文件。
在 rake 任务中,我这样做:
p = Post.new( ....)
p.save!
当我运行我的任务时,我收到错误:
rake aborted!
uninitialized constant Post
我必须做什么才能导入我的 Post 模型?
在我的 lib/tasks 文件夹中,我添加了一个新的 .rake 文件。
在 rake 任务中,我这样做:
p = Post.new( ....)
p.save!
当我运行我的任务时,我收到错误:
rake aborted!
uninitialized constant Post
我必须做什么才能导入我的 Post 模型?
我想你可能错过了环境声明。这对于 Rake 了解您的 Rails 环境是必要的。您的 rake 任务调用应如下所示:
task :my_rake_task => [:environment] do
# Your code here
end
让我知道这是否能解决问题!
您想让任务依赖于 rails 环境。您可以通过在任务声明之后指定 => :environment 来做到这一点,如下所示:
namespace :my_task do
desc "an example task"
task :create_post => :environment do
Post.new .... # the rest of the implementation
end
end