我在創建Rails插件時遇到問題,可以稱其爲Mplug。該插件幾乎只是一個rake任務,但具有rake任務使用的庫。Rails插件需要問題
問題是需要文件。可以說這是耙子任務:
namespace :mplug do
task :create do
Mplug::Indexer.new
end
end
這將不會識別常量Mplug。所以我認爲我需要它。
require 'mplug'
namespace :mplug do
task :create do
Mplug::Indexer.new
end
end
但是然後我得到這個消息。
no such file to load -- mplug
所以,好的。讓我們試着給出插件的路徑。
require 'vendor/plugins/mplug/lib/mplug'
namespace :mplug do
task :create do
Mplug::Indexer.new
end
end
這實際上有效。然而,除了我認爲這是一個不好的方法來做到這一點,我現在必須要求我的插件中的文件,就好像我在rails根目錄中一樣。例如:
module Mplug
end
require 'mplug/indexer'
現在必須是:
module Mplug
end
require 'vendor/plugins/mplug/lib/mplug/indexer'
我並不想這樣做,當然。
有沒有什麼好辦法解決這個問題?
謝謝!
嗯... 了會怎樣,然後需要聲明中供應商/插件/ mplug/lib中/ mplug.rb是什麼? 我仍然需要在該文件中這樣做: 需要'vendor/plugins/mplug/lib/mplug/indexer' – rejeep 2009-12-08 08:22:25
當Rails啓動時,大多數插件都使用init.rb來要求文件。 我建議你閱讀一下Rails指南:http://guides.rubyonrails.org/plugins.html 它給出了構建你的rails插件目錄,init.rb,require等的最佳實踐。 – jkrall 2009-12-10 14:30:44