在rails上运行自定义rake任务

时间:2014-04-13 22:13:00

标签: ruby-on-rails ruby rake rake-task

我正在尝试制作自定义rake任务,但我似乎无法使其正常运行。我的代码如下所示:

namespace :demotask do

  desc "display the current environment of rake"
  task :current_environment => :environment do
    puts "You are running rake task in #{Rails.env} environment"
  end

end

并放在test.rake下名为lib/tasks的文件中。 Rakefile就在那里,但是在控制台中运行任务时我确实遇到了这个错误:

  

NameError: undefined local variable or method 'current_environment' for main:Object

我也尝试重启服务器。

1 个答案:

答案 0 :(得分:1)

您应该使用namespace从终端拨打电话,使用bundler可能是个好主意:

bundle exec rake demotask:current_environment

另外,尝试将任务定义更改为:

task :current_environment => :environment do
...

包括=> :environment将告诉Rake加载完整的应用程序环境。