我正在尝试制作自定义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
我也尝试重启服务器。
答案 0 :(得分:1)
您应该使用namespace
从终端拨打电话,使用bundler
可能是个好主意:
bundle exec rake demotask:current_environment
另外,尝试将任务定义更改为:
task :current_environment => :environment do
...
包括=> :environment
将告诉Rake加载完整的应用程序环境。