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

看板Ruby作者 (nora)時間11年前 (2013/07/17 00:47), 編輯推噓2(209)
留言11則, 4人參與, 最新討論串1/1
全文 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)

07/17 00:58, , 1F
怎麼覺得你這種改法改完才是地雷的開始...
07/17 00:58, 1F

07/17 01:34, , 2F
尤其是assets的部分...感覺這樣勉強改不如不改的好...
07/17 01:34, 2F

07/17 01:35, , 3F
Rails 2.x => Rails 3.x 改比較多
07/17 01:35, 3F

07/17 01:35, , 4F
Rails 3.x => Rails 4.x 其實不會太痛苦
07/17 01:35, 4F

07/17 01:36, , 5F
如果硬升級 不如開一個新的Rails 4 做乾坤大挪移
07/17 01:36, 5F

07/17 01:38, , 6F
先開新project測試gem的相容性 如果在github更新時間
07/17 01:38, 6F

07/17 01:38, , 7F
超過一年得就可以考慮找新的GEM 如果持續有在更新
07/17 01:38, 7F

07/17 01:39, , 8F
看看branch或tag有沒有支援Rails 4
07/17 01:39, 8F

07/17 09:09, , 9F
感謝大家的意見,我是新開一個 rails4 再一個一個修檔案
07/17 09:09, 9F

07/17 09:10, , 10F
因為可以寫程式的時間不多,且戰且走,等有書再來慢慢讀~
07/17 09:10, 10F

07/17 10:44, , 11F
建議可以先了解Rails 2 => 3.2的改變,再去學習4
07/17 10:44, 11F
文章代碼(AID): #1HvNaUiL (Ruby)