我想寫一個gem,將app/services
目錄添加到Rails應用程序。從Gem中添加到Rails autoload_path
因爲我想將它從寶石中添加我想出了這個解決方案:
class Railtie < ::Rails::Railtie
config.after_initialize do |app|
::Rails.logger.info "adding #{ActiveService::Configuration.path} to autoload_path"
app.config.autoload_paths = [ActiveService::Configuration.path] + app.config.autoload_paths
end
end
的問題是,config.autoload_path
是凍結的數組,所以對矯正它似乎不是一個好主意。
有關如何以更好的方式實現這一點的任何建議?
這種方法看起來很有希望,但不幸的是它不工作!它看起來像'''app.config''與引擎類中使用的配置不同。我目前堅持使用railtie'''before_configuration'''鉤子,它可以設置autoload_paths數組,但可以在所有其他初始化器之前運行。所以我需要將任何配置放入一個yml文件。 – phoet 2011-06-20 19:33:53
不知道有涉及引擎。有沒有一個最新的存儲庫來測試呢? – rubiii 2011-06-20 20:14:34
sure:https://github.com/phoet/active_service – phoet 2011-06-23 09:23:48