2012-04-05 70 views
0

我正在将Rails插件转换为gem,并在init.rb中进行了初始化,该初始化用于在插件启动时运行插件。但是当我将这个插件转换为宝石时,这段代码不再运行!我应该怎么做在宝石启动上执行代码?Ruby gem:如何在启动时运行初始化?

而且初始化Rails的特异性,它需要:: Rails.root

+1

我认为这个问题需要更多的澄清。你是什​​么意思的宝石启动?你的意思是如果需要一个宝石,那么动作x应该总是被执行? – sunnyrjuneja 2012-04-05 19:35:39

回答

0

使用Railties初始化修复并为我解决问题。没有在适当的时间运行init.rb来配置Rails.root。

0

我的体型目前显示废弃警告像

弃用警告:你有 供应商/插件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)

我觉得有你的答案;)

编辑: 我才意识到,也许这也是罚款,如果在运行时的宝石被加载。在这种情况下,当加载宝石时(通过bundler/ruby​​gems),将自动需要lib/same-name-as-gem.rb

相关问题