我将Rails插件转换为gem并且它在init.rb中有初始化,用于在插件启动时运行插件。但是,当我将此插件转换为gem时,此代码不再运行!我该怎么做才能在gem启动时执行代码?
初始化是特定于Rails的,它需要:: Rails.root
答案 0 :(得分:0)
我的版本目前显示弃用警告,例如
DEPRECATION警告:你有Rails 2.3风格的插件 供应商/插件!在Rails中将删除对这些插件的支持 4.0。移出它们并将它们捆绑在Gemfile中,或者将它们作为lib / myplugin / *和config / initializers / myplugin.rb折叠到您的应用程序中。看到 发布说明了解更多信息: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released。 (从$ PROJECT_HOME / config / environment.rb:8调用)
我认为这有你的答案;)
编辑:
我刚刚意识到,如果它在加载宝石时运行也许也没关系。在这种情况下,加载gem时会自动需要lib/same-name-as-gem.rb
(通过bundler / rubygems)。
答案 1 :(得分:0)
使用Railties初始化修复并为我发出问题。在适当的时候没有运行init.rb来配置Rails.root。