可安装引擎的自定义rake任务

时间:2015-04-10 17:25:46

标签: 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_management_system
rake aborted!
Don't know how to build task 'internal_management_system'

我做错了什么?

2 个答案:

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