釋出今天在 HappyDesigner3 聚會的投影片,請點此下載 PDF(974kb)
大綱
<
ol>
補充(2008/4/14):see Mini reviews of 19 Ruby template engines
😆 👨🏻💻 📚 🚀 💰 ✨
釋出今天在 HappyDesigner3 聚會的投影片,請點此下載 PDF(974kb)
<
ol>
補充(2008/4/14):see Mini reviews of 19 Ruby template engines
Update(2009/2/4): 新增 jQuery in Action
Update(2008/5/22): 新增幾本 CSS/Javascript 書
Update(2008/3/26): 郵資加 70 元(郵局包裹)
之前買的好書放了好一陣子沒時間看,出清給會念的人好了。書況都很新沒有劃線,只有翻閱過幾次(?)而已。書名後的數字就是直接購買價,請直接寫 E-mail 給我,不放心的話可以透過Y!拍賣下定(價格以 Y! 為準,懶得更新下面的價格了)
Rails on Rails 已經出到 2.0 了,不過 Textmate 內建的 Bundle 還是 1.x,需要更新。請下載 Textmate bundle,最好的方式是用 git,不過也可以直接下載放到 [~/Library/Application Support/TextMate/Bundles] 下,並命名為 Ruby on Rails.tmbundle,然後在 textmate 裡 reload bundle 即可。
另外也請在 [/Applications/TextMate.app/Contents/SharedSupport/Support/lib] 執行 mv Builder.rb Builder.rb.off (不然某些用到 rake 的 bundle 會有錯誤)。
來背指令吧~列了幾個自己想要記下來用的。
Ctrl+command + T : 查詢 bundle 指令
FaceboxRender 是我最近寫的第二個 Ajax UI plugin,它讓你在 Rails 中可以無縫使用 lightbox 效果,搭配使用的 Javascript library 正如其名是 Facebox。首先你得先裝好 jQuery 和 Facebox:
facebox-render 目前放在 github,請下載後放到 vender/plugins/facebox_render
然後在你要使用的 Controller 加入以下程式碼
include FaceboxRender
或是你直接放到 /app/controllers/application.rb 裡面也是可以。
回到 view code,當你要叫出一個 lightbox :
facebox_link_to "Login", :url => login_url
或是你也可以用 remote_link_to, remote_form_tag 等Rails內建的 Ajax Helper,差別在於 facebox_link_to 會先秀出一個 Loading lightbox,然後再送 Ajax request。
重頭戲是 action :
def new # do some thing you want respond_to do |format| format.html format.js { render_to_facebox } end end
這裡巧妙的運用了 respond_to 來處理 ajax request,預設的 render_facebox 會 render 不帶 layout 的HTML(即 new.html.erb)。當然我們也支援傳入 :action, :template, :partial 等常見的Rails參數,或是乾脆傳入 :html 也可以。
傳入 :msg 的話,會插入一段 <div class=”message”>your msg</div> 到裡面去,方便你做一些提示或警告訊息。
除了 render_facebox,也有 close_facebox 可以關掉 lightbox。也可以用 redirect_from_lightbox 重新讀取另一頁。
實際的應用非常方便,你可以在網頁中用 remote link 或是 remote form submit 叫出 facebox。在 facebox 中也還可以再放 remote link 或 remote form submit,接收處理的 action 可用 render_facebox 或關掉 close_facebox 抑或重新讀取頁面 redirect_from_facebox。
FaceboxRender 的隨附文件請見 README 。
P.S. 這篇文的英文版在 Handlino’s blog
Update(2008/3/24): Yahoo 有份投影片值得一看:
因為 Registrano hosting 在國外的關係,先天速度就慢了一個太平洋。所以如何讓網頁能夠快點 loading 完並且 display 出來變得非常重要且感受明顯。我們可以使用 Firefox 的 YSlow 或 safari web inspector 來檢測實際下載的瓶頸在哪裡。教材則有 O’Reilly High Performance Web Sites 一書值得一讀,裡面的 guideline 有十四點如下: