如何將Gem中的rake任務導入Rails Project中

Rails3中,可以使用Railtie的方式,將rake 任務 放到 Rails 項目中

lib/your_gem/railtie.rb

require 'your_gem'
require 'rails'
module YourGem
  class Railtie < Rails::Railtie
    rake_tasks do
      load 'path/to/rake.rake'
    end
  end
end

然後在 lib/your_gem.rb文件中
require "lib/your_gem/railtie" if defined?(Rails)

task一般放在 lib/tasks/xxx.tasks下

http://edgeapi.rubyonrails.org/classes/Rails/Railtie.html
http://stackoverflow.com/questions/742633/make-rake-task-from-gem-available-everywhere
可以參考的gem
https://github.com/chucai/xmpp_server

發佈了198 篇原創文章 · 獲贊 8 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章