釋出今天在OSDC的投影片,下載PDF請按此。題目雖然定成 Practical Rails2,但主要的內容是談 RESTful Rails 實做。
有了上禮拜在 HappyDesigner3 的經驗,這次試著講慢一點,應該有穩一點。
(開始前挺緊張的,結果人一半跑到隔壁聽 Keroro 桌面,瞬間壓力減輕不少 XD)
準備的投影片到上台前有了150張,本來還擔心會不夠,結果還講不完,只好跳掉了兩個自己寫的 Rails Plugin 介紹… :p
well, 請多指教 :>
補充: 傳到 sliceshare 後,發現旁邊的相關投影片有一份 RESTful best practices也值得一看 (如果你還有興趣的話…XD)。
終於有人寫出來了。Rails 1.2 的 REST 只是 server-side,運用各種語言把對應的 client-side 實作出來是遲早的事情。
就如同 Ruby 版的 ActiveResource,Jester是一個 JavaScript Library 可以讓你操作 Rails-style resources,而且語法跟 ActiveResource 十分類似(除了new變bulid)。這樣的東西可以幹麻呢? 它(應該要)可以幫助我們輕易做出 使用 RESTful service 的 Ajax Application (please see Ajax and REST, Part 1, Part 2 )
不過,咳咳~ 它目前 1.是 synchronous 的 (作者正著手改成 asynchronous ,應該不難多 callback 參數即可) 2.用XML,如果可以支援 JSON會更棒 3. Depends on Prototype 跟 ObjTree 兩個 Library。
題外話,最近 Rails Edge 把 RESTful routing 的 semi-colon (;) 改成 forward-slash (/) 了,吱吱。
DHH的投影片提到一個概念:
Constraints are liberating (a straight jacket for your mind)
這裡指的 Constraints (制約) 是什麼? 我想指的是 Controller 不出以下七種 action (註) :
Read more…
在上一篇 Rails RESTful 相關工具 中有提到,ActiveReource 是一個針對 Rails RESTful APIs 所用的 client-side XML consumer,我們花了好幾篇學習為何 RESTful 跟如何用 map.resources 來架出 server-side provider,而具體的重大好處則會在 ARes 中體現出來,我們可以像對 ActiveRecord 的物件操作一樣來處理 ARes,只是它的內部運作對象變成 Resource 而不是 Database (你感覺不到你在用Web APIs :p)。
讓我們來試玩看看吧! 因為不只連 Rails 1.2 還沒 (最後關頭拉出 :p),連 Edge Rails 版都還沒有,所以必須直接用 svn co
svn co http://dev.rubyonrails.org/svn/rails/trunk vendor/rails
我們用 irb 來開始實驗吧~
$ irb
> require ‘vendor/rails/activesupport/lib/active_support’
> require ‘vendor/rails/activeresource/lib/active_resource’
上回也提到 beast 是個用 RESTful 開發的討論區軟體,所以我們用 beast 來做操作對象: Read more…