作者isnora (nora)
看板Ruby
标题[心得] Rails 2.x 升 Rails 4.0 地雷分享
时间Wed Jul 17 00:47:23 2013
全文
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,应该是不会有这个问题才是……。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.250.96.98
※ 编辑: isnora 来自: 111.250.96.98 (07/17 00:49)
1F:→ Blueshiva:怎麽觉得你这种改法改完才是地雷的开始... 07/17 00:58
2F:→ wuboy:尤其是assets的部分...感觉这样勉强改不如不改的好... 07/17 01:34
3F:推 hellolucky:Rails 2.x => Rails 3.x 改比较多 07/17 01:35
4F:→ hellolucky:Rails 3.x => Rails 4.x 其实不会太痛苦 07/17 01:35
5F:→ hellolucky:如果硬升级 不如开一个新的Rails 4 做乾坤大挪移 07/17 01:36
6F:→ hellolucky:先开新project测试gem的相容性 如果在github更新时间 07/17 01:38
7F:→ hellolucky:超过一年得就可以考虑找新的GEM 如果持续有在更新 07/17 01:38
8F:→ hellolucky:看看branch或tag有没有支援Rails 4 07/17 01:39
9F:→ isnora:感谢大家的意见,我是新开一个 rails4 再一个一个修档案 07/17 09:09
10F:→ isnora:因为可以写程式的时间不多,且战且走,等有书再来慢慢读~ 07/17 09:10
11F:推 hellolucky:建议可以先了解Rails 2 => 3.2的改变,再去学习4 07/17 10:44