看板 Ruby 關於我們 聯絡資訊
前幾天要做一個小東西,想說正好是試驗 merb 的好時機, 就先花了幾個小時把架構調整好。比方說把之前寫好的東西 copy 過來 繼續用,例如錯誤處理的部份,像是這樣: if message.save flash[:info] = Lang.tr[:ok] else flash[:info] = message.errors.map{ |error| [Lang.tr[error.first], error.last].join }.join("<br />\n") flash[:message] = message.attributes end 也許是應該試著用 error_message_for 啦,只是之前都寫好了, 這又是個小東西,很懶就直接 copy 過來。 還有 active_record message 的翻譯: # encoding: utf-8 ActiveRecord::Errors.default_error_messages = { :invalid => '格式不正確', :empty => '沒有填寫', :blank => '沒有填寫', :too_long => '太長(最長 %d 個字)', :too_short => '太短 (最短 %d 個字)', # etc. } 還有平常拿來 deploy 的 rake task, 把 html 從 big5 轉成 utf-8, CRLF 轉成 LF, 拉拉雜雜一堆這樣就花了幾個小時 -_-b 實際上開始寫大概幾分鐘就寫完了。上線之後,我就開始把所有程式 翻譯到 merb 上... 大概先是花了幾個小時熟悉,正式開始寫後, 也是幾分鐘就寫完了。實際撰寫時間應該比 rails 少很多,因為, 大部份的東西都是改個名字就能跑了 @_@b 兩者的外部架構幾乎是一模一樣。我的意思是,只要你沒碰到核心的話, 兩者的用法幾乎只有名稱差異而已。而且很多命名還甚至是一樣的。 例如 params 和 session. 不過 merb 沒有 flash, 這部份只好靠自己寫 filter 來清除: after lambda{ session[:info] = nil }, :only => :board 一開始我一直寫成: after :board do session[:info] = nil end 因為 Extlib::Hook 就是這樣用的。測半天後才想到, 應該用 rails after_filter 的寫法才對 @_@b * 總之,去掉一些 merb 的 bug 不提的話,我用起來非常順, 感覺像是進化後的 rails... 就差在 rails 的 plugin 無法移植外, 其他的東西全部都具備,甚至更多更多。 目前第一個碰到缺乏的功能,就是 pagination... 之前我都是用自己寫的 Ludy::Paginator, 但後來接別人的東西, 就順著他用 will_paginate, 發現其實還滿方便的,就繼續用。 查了一下,有個 port 在這: http://github.com/myobie/merb_paginate 大概看了一下,寫得也滿暴力的,還 depend on will_paginate... 也有一段時間沒有更新了,我乾脆自己寫,又不是很難的東西。 所以就從 ludy 中抽出 paginator, 重新改名為 pagify 和 pager. http://github.com/godfat/pagify * 我應該會慢慢把之前幫 rails 寫的東西全部 port 到 merb 上。 也敢保證在 merb 上寫東西絕對會比在 rails 上寫容易好幾倍... 原本這些都是放在 ludy 裡,現在打算全部抽出來獨立做。 因為 rubyforge 分專案不方便,github 方便很多... orm 則以 data mapper 為主,因為這個我還蠻滿意的 XD 看有沒有人有興趣參與這樣 == 對了,希望也能在 ramaze 上做一份,盡可能跨越多平台 -- 生死去来、棚頭傀儡、一線断時、落落磊磊 《花鏡》-世阿弥 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.28.18 ※ 編輯: godfat 來自: 220.135.28.18 (10/12 15:52)
poga:ramaze感覺比較好懂... datamapper還是不能在xp上跑阿 Orz 10/12 16:02
godfat:ramaze 作者做了一大堆東西 @@ 以後再慢慢細看 orz 10/12 16:24
godfat:以後還有啥小東西我再試試看 XD dm 的話,也許會有人說: 10/12 16:25
godfat:go to get a real OS... XD 10/12 16:26
ihower:go merb 1.0! 10/13 01:21
kenmax:http://tinyurl.com/45mhar RC1 Available 10/15 23:39
godfat:上面是 http://www.infoq.com/news/2008/10/merb-1-0 10/15 23:40
godfat:merb mailing list 上有人抱怨 0.9.9 有不少問題... 10/15 23:41
godfat:說為了趕這 1.0, 改寫太多東西,應該需要更多時間整頓 10/15 23:42
kenmax:sorry沒寫清楚,謝謝版大說明^^ 10/16 00:32
kenmax:請問一個問題,裡面提到Merb in Action這本書這在寫 10/16 00:34
kenmax:去下載章節1來看,提到merb起源於http://pastie.org/14416 10/16 00:36
kenmax:它是獨立的一個可以跑的Hello,XXX的範例了囉? 10/16 00:58
kenmax:一開始看到..,'app/controllers',以為它是跟RoR結(融)合XD 10/16 01:01