我无法在我创建的可安装引擎中运行自定义rake任务。在创建可安装引擎时,默认情况下,有一个Rails.root / lib / tasks目录,其中包含一个以引擎命名的rake文件:
internal_management_system.rake
在这个文件中,我创建了一个简单的任务:
task :internal_management_system do
puts 'hello world'
end
现在从Rails.root目录开始,我尝试运行它:
$ rake internal_management_system
rake aborted!
Don't know how to build task 'internal_management_system'
我做错了什么?
答案 0 :(得分:0)
如果你给你的任务一个命名空间它应该工作。所以在你的internal_management_system.rake文件中输入:
namespace :db do
task :internal_management_system do
puts 'hello world'
end
end
然后运行命令:
$ rake db:internal_management_system
答案 1 :(得分:0)
解决方案是从虚拟应用程序根目录运行它。显然你不能从引擎根运行它。
所以在引擎根目录中,你有
/lib/tasks/hello.rake
其内容:
task :hello do
puts 'hello world'
end
然后转到虚拟应用程序并运行rake hello