[心得] Rails 2.x 升 Rails 4.0 地雷分享

楼主: isnora (nora)   2013-07-17 00:47:23
全文 http://blog.hhups.tp.edu.tw/xihu/article_port/4673
升级的程式主要是 Blog 程式,使用者可以下标签去分类文章,以下的问题搜寻网络几
乎都有解,集合在一起给有需要的人,希望有人可以因此少碰一些壁。
以下是地雷区
(因为我没用过 rails 3,所以问题特别多,用过 rails 3的人应该会好一点)
一、rvm 安装,在 macbook 上安装不会太困难,没什么问题,
安装 nginx passenger 也没什么问题。
二、rvm 在 Server 安装,用 root 安装问题很多,根本到现在我还是不会装,
只好用一般帐号去安装,接着用一般帐号去安装 nginx passenger,
最后再用 root 去执行nginx……,可行!
三、mysql gem 用了有问题,要用 mysql2 gem,要不然会有很多 UTF8 的错误讯息。
四、 truncate 语法改变,很烦,修这个语法每天都在做。
五、will_paginate 的参数改变,很烦,几乎每天也在修。
六、我不懂 Gemfile,明明很多人说在上面写上需要的 gem就行,
但是 mogilefs-client,写进去也没用,居然还要 require,
误打误撞解决的,要自己在系统下 gem install mogilefs-client。
七、acts_as_threaded,还没找到替代方案,暂时不去解决,在我去带班之前,
大概不会想去解决这个问题。
八、acts_as_taggable,安装后可以用,但是所有以前用的标签统统不见,在我花
了一个晚上研究后,在数据库中, update taggings set context='tags',
就好了,为了找出这个问题,在 console 中挖了很久。
九、zsh 不错用,oh-my-zsh 装了之后更漂亮。
十、sublime 不错用,游泳比赛的道次公告,如“陈〇齐”,一百个名字,
几秒钟就可以换完,但是颜色我看得很痛苦,尤其是 file tab,实在是很难分辨
,用它来改程式感觉也不错。
十一、assets 我实在是不懂,好在 ihower(张文钿)在网络上有写很棒的文件,
我至少可以运行……;为了用这个东西连在 html 插入 javascript 和 css
都好复杂~,目前还是不懂的状况,能用就先撑著。
十二、yield :sidebar,这东西超赞,花了一些时间,后台右手边的 notice block
就用这个做。
十三、web-app-theme,组成新版西湖日志后台的东西,搞不太懂,
如果只有引入它的 js css,表格怪怪的,一起把 bootstrap 引入才会正常;
使用 icon 变得好简单。
十四、拖曳变的非常非常的麻烦,都要自己写 jquery,上次看 jquery 是胖子刚出生
的时候,书也借给阿福教授……0rz....,我哪会写啊,勉强查网络的来改了。
十五、swfupload 没了,只好使用 rails-jquery-upload,弄了好久好久,
终于可以批次上传照片,但是……在 development 下可以稍稍正常执行,
到了 production 下,会出现错误讯息,虽然照片还是会传上去,
但那讯息让人看了不快,目前还没办法解决。
十六、 production 下的 assets 怪怪的,icon都出不来,改了 production.rb
下许多东西;config.serve_static_assets改成 true 、
config.assets.compile 改 true、
config.assets.precompile += %w( search.js ) 解除 mark;
当然,我也不甚了解它的意思,反正最后是会动了。
十七 、RAILS_ROOT 的常数被改掉了,改成 Rails.root.to_s,还要自己 to_s ……。
十八、令人傻眼的 sandbox……,昨晚将西湖日志用新版上线后,发现用 iframe 去读
Rails4 的程式统统无法运做,最后发现是啥 sandbox 的安全性问题,
弄了好久好久,最后,一行解决;在 production.rb
config.action_dispatch.default_headers = 'SAMEORIGIN';
这个问题到现在还是觉得很怪,这个好像是 html5 的东西,但是我们学校的
网页是 html4,应该是不会有这个问题才是……。
作者: Blueshiva (龙野南云)   2013-07-17 00:58:00
怎么觉得你这种改法改完才是地雷的开始...
作者: wuboy (光阴的故事)   2013-07-17 01:34:00
尤其是assets的部分...感觉这样勉强改不如不改的好...
作者: hellolucky (做自己 好自在)   2013-07-17 01:35:00
Rails 2.x => Rails 3.x 改比较多Rails 3.x => Rails 4.x 其实不会太痛苦如果硬升级 不如开一个新的Rails 4 做乾坤大挪移先开新project测试gem的相容性 如果在github更新时间超过一年得就可以考虑找新的GEM 如果持续有在更新看看branch或tag有没有支援Rails 4
楼主: isnora (nora)   2013-07-17 09:09:00
感谢大家的意见,我是新开一个 rails4 再一个一个修档案因为可以写程式的时间不多,且战且走,等有书再来慢慢读~
作者: hellolucky (做自己 好自在)   2013-07-17 10:44:00
建议可以先了解Rails 2 => 3.2的改变,再去学习4

Links booklink

Contact Us: admin [ a t ] ucptt.com