[閒聊] 有人玩過 merb 嗎?

看板Ruby作者 (godfat 真常)時間16年前 (2008/10/12 15:46), 編輯推噓3(3011)
留言14則, 4人參與, 最新討論串1/2 (看更多)
前幾天要做一個小東西,想說正好是試驗 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)

10/12 16:02, , 1F
ramaze感覺比較好懂... datamapper還是不能在xp上跑阿 Orz
10/12 16:02, 1F

10/12 16:24, , 2F
ramaze 作者做了一大堆東西 @@ 以後再慢慢細看 orz
10/12 16:24, 2F

10/12 16:25, , 3F
以後還有啥小東西我再試試看 XD dm 的話,也許會有人說:
10/12 16:25, 3F

10/12 16:26, , 4F
go to get a real OS... XD
10/12 16:26, 4F

10/13 01:21, , 5F
go merb 1.0!
10/13 01:21, 5F

10/15 23:39, , 6F
10/15 23:39, 6F

10/15 23:40, , 7F

10/15 23:41, , 8F
merb mailing list 上有人抱怨 0.9.9 有不少問題...
10/15 23:41, 8F

10/15 23:42, , 9F
說為了趕這 1.0, 改寫太多東西,應該需要更多時間整頓
10/15 23:42, 9F

10/16 00:32, , 10F
sorry沒寫清楚,謝謝版大說明^^
10/16 00:32, 10F

10/16 00:34, , 11F
請問一個問題,裡面提到Merb in Action這本書這在寫
10/16 00:34, 11F

10/16 00:36, , 12F
去下載章節1來看,提到merb起源於http://pastie.org/14416
10/16 00:36, 12F

10/16 00:58, , 13F
它是獨立的一個可以跑的Hello,XXX的範例了囉?
10/16 00:58, 13F

10/16 01:01, , 14F
一開始看到..,'app/controllers',以為它是跟RoR結(融)合XD
10/16 01:01, 14F
文章代碼(AID): #18yQi-HX (Ruby)
文章代碼(AID): #18yQi-HX (Ruby)