刚刚经历了几个陷阱,搞得一直不稳定,现在终于升级发布完成了!
整个从 Rails 3 升级到 4 的过程不算太难,外加上之前测试用例还算比较多,所以很快就搞好了。
我认为 Rails 3.2 到 4 升级最麻烦的事情就是 strong_parameters 带来的问题,几乎涉及到所有的 Model 和 Controller 文件都需要修改一下... 之前我还一直没有尝试过这个... 还是觉得不太方便...
另外麻烦的问题就是三方 Gem 支持的问题,这个得一个一个查,看那些项目在 Github 上面的 Issue,甚至有些问题是最近几天才解决的。
其他地方似乎没有太大变化。
新发现,由于 Rails 4 不支持 vendor 里面的 assets 文件,所以那些老的 gem 带的资源文件就没法预编译出来,以后 Gem 里面带 assets 文件正确的写法是搞一个 app/assets 目录,这样才能正确引用。
sprockets-rails 现在还很不稳定啊,我遇到几个 File to import not found or unreadable
的问题,弄了半天也无解,这样整了下:
gem 'sprockets-rails', github: 'rails/sprockets-rails'
gem 'sass-rails', github: 'rails/sass-rails'
然后好象就能用了。
另外,sprockets-rails 的搜索路径仍然包括 lib/assets
和 vendor/assets
,也就是说这两个目录下的图片 config.assets.compile = true
时能找到,rake assets:precompile
时就不见影了,真不知这是什么样操蛋逻辑,我原来喜欢把第三方组件(非 gem)的资源放入 lib 或 vendor 的,升级后不得全部移入 app 中,乱麻了!