简体   繁体   English

我可以通过制作gem将rake任务添加到我的Rails应用程序中吗?

[英]can i add rake task to my rails app by making gem?

I want to add original rake task to my rails app by making gem. 我想通过制作gem将原始的rake任务添加到我的Rails应用程序中。 But, I couldn't. 但是,我做不到。 Please tell me my mistake. 请告诉我我的错误。

In my gem file 在我的宝石文件中

>lib/gem_test.rb
require "gem_test/version"
require 'gem_test/railtie' if defined?(Rails) && Rails.version >= "3"
module GemTest
  #this is dummy method for loading check
  def self.hogehoge
    "hogehoge"
  end
end

>lib/gem_test/railtie.rb
module GemTest
   class Railtie < Rails::Railtie
     rake_tasks do
       load "tasks/gem_test.rake"
     end
   end
end

>lib/tasks/gem_test.rake
namespace :fugafuga do
  desc "fugafuga"
  task :piyopiyo do
    puts "piyopoyo"
  end
end

and, Gemfile in my rails app, gem gem_test, git:mygitrepository . 并且,在我的rails应用程序中的Gemfile是gem gem_test, git:mygitrepository But I don't find fugafuga:piyopiyo task in result of rake -T . 但由于rake -T结果,我找不到fugafuga:piyopiyo任务。

If need more infomation, see my repository 如果需要更多信息,请参阅我的存储库

I think you must require rake in your rakefile: 我认为您必须在rakefile中要求rake:

namespace :fugafuga do

  require 'rake' <----

  desc "fugafuga"
  task :piyopiyo do
    puts "piyopoyo"
  end

end

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM