在我的lib / tasks文件夹中,我添加了一个新的.rake文件。
在rake任务中,我这样做:
p = Post.new( ....)
p.save!
当我运行任务时,我收到错误:
rake aborted!
uninitialized constant Post
导入Post模型需要做什么?
答案 0 :(得分:5)
我在想你可能错过了环境宣言。这是必要的,以便Rake了解您的Rails环境。您的佣金任务调用应该如下所示:
task :my_rake_task => [:environment] do
# Your code here
end
如果能解决问题,请告诉我!
答案 1 :(得分:4)
您希望使任务依赖于rails环境。您可以通过指定=>来执行此操作:任务声明后的环境:
namespace :my_task do
desc "an example task"
task :create_post => :environment do
Post.new .... # the rest of the implementation
end
end