如何将Model导入自定义rake任务?

时间:2012-10-15 02:49:09

标签: ruby-on-rails ruby

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

在rake任务中,我这样做:

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

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

rake aborted!
uninitialized constant Post

导入Post模型需要做什么?

2 个答案:

答案 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