Ruby on rails 可安装发动机的自定义耙任务
我无法在我创建的可安装引擎中运行自定义rake任务。创建可装载引擎时,默认情况下,有一个Rails.root/lib/tasks目录,其中包含一个以引擎命名的rake文件:Ruby on rails 可安装发动机的自定义耙任务,ruby-on-rails,Ruby On Rails,我无法在我创建的可安装引擎中运行自定义rake任务。创建可装载引擎时,默认情况下,有一个Rails.root/lib/tasks目录,其中包含一个以引擎命名的rake文件: internal_management_system.rake 在这个文件中,我创建了一个简单的任务: task :internal_management_system do puts 'hello world' end 现在,从Rails.root目录,我尝试运行它: $ rake internal_manage
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'
我做错了什么?如果给任务一个名称空间,它应该可以工作。因此,在您的内部_management _system.rake文件中:
namespace :db do
task :internal_management_system do
puts 'hello world'
end
end
然后运行命令:
$ rake db:internal_management_system
解决方案是从虚拟应用程序根目录运行它。显然,您无法从引擎根目录运行它 所以在引擎根中,您有
/lib/tasks/hello.rake
及其内容:
task :hello do
puts 'hello world'
end
然后转到虚拟应用程序并运行rake hello这对于常规应用程序来说很好。但这不适用于可安装的发动机。