Rails 升级到 rails 3.2 后,vendor/plugins 下的插件怎么处理?

inetufo · 2012年01月29日 · 最后由 leomao10 回复于 2012年02月10日 · 5591 次阅读

You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released

要报这个警告,但是不晓得怎么写 myplugin.rb

rails3.2 生成插件的命令 rails g plugin 好像也取消了?

匿名 #1 2012年01月29日

关注

现在大部分的 2.3 plug-in 应该有 Gem 的版本了吧

例如 prownto,原作者的 master branch 两年没更新,但是可以找到有人 fork 了这个 project,把它改为 3.1 以上可用了

如果没有,应该可以找到相同功能的替代品,如 Kaminari 之于 will-paginate

而如果是你们公司内部的 plugins,把他们改写成 Gem 也不会花很多时间

to 楼主

require 'lib/plugins/my_plugin/my_plugin.rb' 

貌似是这样写

#2 楼 @leomao10 有时候我们需要修改一下某个 gem,那么就可以 gem edit save 后放到 vendor/plugins 下,等官方修复了再从 vendor/plugins 中删除掉就好了,其他地方不用做任何修改 有些 gem 有 bug 不是很快就能解决的,可能等个 10 天半月的也正常,所以这个目录还是有用的

#3 楼 @vkill 我说的是 config/initializers/myplugin.rb. 里面的内容怎么写。。。

@vkill, 如果是这样的话,把你要改的 gem fork 到自己的帐号下,然后在 Gemfile 里面指到你自己的 repository 会不会更好一点?

毕竟放在 vendor/plugins 的话,要不就是要把这些代码加入 main project,要不就是要用 git submodule,管理起来总归不如 Gemfile 方便呢

需要 登录 后方可回复, 如果你还没有账号请 注册新账号