分類
JavaScript Programming Rails

Rails RJS Templates 再探

如果看了上一篇,以為有了RJS就不用學不用寫 Javascript 跟 Prototype.js,那就錯了… :p

RJS 你可能會以為是 Ruby JavaScript,Ruby 要統一 JavaScript 了。不過其實是 Remote JavaScript 的意思,顧名思義它主要用於 Ajax Request 的遠端回應。不需要用 Ajax 的地方還是應該乖乖用 Javascript 來寫(你要透過RJS繞一圈來做也沒什麼辦不到啦~) 在rhtml中就寫好Javascript,除了直接寫  Javascript code 之外,也可以用 update_page 和 update_page_tag 來生成Javascript code(感謝contagious補充修正)。一來是效率時效考量,二來也讓RJS保持乾淨。所以還是要會 Javascript跟Prototype才能正確運用RJS的方便性。嗯,還在努力學習中… 真是太神妙了… Orz 

承上一篇的範例,最簡單的例子就是載入畫面,這玩意當然不需要再發 Ajax Request了。

分類
Books JavaScript Programming Rails

Rails RJS Templates 初體驗

RJS templates 是 Rails 1.1 中的一種新 template,它的開發者 Sam Stephenson 也是 Prototype.js 的作者。不像一般 template 產生 HTML 或 XML,RJS templates 產生 Javascript (based on prototype) code 傳給瀏覽器執行,你可以在 template 中一次修改頁面多個地方,而所有 template 語法皆是用 Ruby 來寫。

要學RJS template,目前最好的文件應該就是這份 Cody Fauser 所寫的 RJS Templates for Rails 了,直接線上買PDF版(也只有PDF版),而且作者會更新,我手上的是 9/26。另外 slash7 提供了一份漂亮圖例 RJS Demystified With Pretty Colors!。RubyInside 則有整理了一份 16 RJS Resources and Tutorials for Rails Programmers

以下是一個簡單的Ajax範例,需要寫的程式碼很少,而且重點是不需要寫 JavaScript。

分類
Books Programming Rails

Ruby on Rails : 建置與執行

台灣第一本 Ruby on Rails 中文書熱騰騰上市。令人出奇的小本,以這樣的篇幅跟內容編排,我懷疑作者的預設讀者是要給誰念的? 如果是初學Rails且不懂Ruby的人,裡面講的太快,應該會不知所云吧。如果是看過 Agile Web Development with Rails 的人,這本又太簡略了,像是摘要整理。

anyway… 對我來說,沒多久就看完了(當然沒實際練習啦),就當是複習吧。比較有新意的只有Ajax那章,因為Agile Web Development with Rails那本寫Ajax比較少,而這本甚至給了更難的Drap-and-Drop的ajax範例。

站在推廣的角度,我建議(譯者)可以在附錄補個Ruby簡介會不會好一點啊,不然Ruby在台灣應該還蠻不紅的,也還沒有中文書啊。

分類
Books Programming Rails Ruby

Ruby & Ruby on Rails 書單

Update (2008/5/13): 本篇不再維護,請前往 2008 之進階書單
Update(2006/12/2): 新增數本Apress書及更新出版日期 
Update(2006/12/10): 更新 Addison-Wesley 及新增 ED

隨著 Ruby on Rails 的水漲船高,有關 Ruby 的書今年又開始熱了起來,目前我查的到已出的跟預計要出的書有以下 (參考了這篇Roundup及自己找的),附上原書和天瓏書店的連結。

分類
Database Programming Rails

Rails with SQLite

SQLite 是個輕量級的資料庫程式,因為我想在NB上寫Rails,但是又不想裝MySQL好重,第一個就想到SQLite。關於SQLite的中文介紹,可以參考 簡介SQLite 和 SQLite使用教學。基本上 sqlite 就是一隻 command-line 程式而已,再加上一個資料檔(即一個資料庫)。

要在Rails中使用,Windows 下首先去 SQLite 網站下載 執行檔 跟 DLL檔,即 sqlite3.exe 跟 sqlite3.dll,放到 C:/ruby/bin 下。FreeBSD的話,執行 /usr/ports/databases/sqlite3/make install。

接著安裝 sqlite for Ruby gem,執行 gem install sqlite3-ruby,Windows 下選擇 win32 ,FreeBSD下選 ruby 的版本。

最後設定 database.yml :

development:
  adapter: sqlite3
  dbfile: db/dev.db

test:
  adapter: sqlite3
  dbfile: db/test.db

production:
  adapter: sqlite3
  dbfile: db/prod.db

然後執行你寫好的 Migrations 即可把資料庫建立出來。

如果你想要 SQLite 的 GUI 管理介面,試試 SQLite Database Browser,也是一個檔案而已,不需要安裝。

參考資料 :

分類
Rails WWW

RoR Web Hosting

網站搬新家,搬到 bluehost 囉。

優先考慮支援RoR環境的 Hosting 方案,看了 www.rubyonrailswebhost.com/ 的介紹,先試了略為便宜的第二家 HostMonster,可是註冊時一直說我的 address is invaild (是蠻奇怪的英譯地址啦),就卡住了。沒辦法只好換名單上第一家,選了一年方案 7.95/month,還蠻順利的,有個 cPanel 系統管理後台。

預設 SSH shell access 是關閉的,必須再寫 email 附上有照片的證件過去申請才行,因為我還沒有護照,只好半信半疑試試台灣駕照,不知道是有真看懂還是沒有,40分鐘之後就開權限給我了,真有趣。

除了放國外速度較慢之外,15G的容量、每月400G傳輸量、可對應 6個 Domains、可以SSH跟FTP、有 MySQL 也有 PostgreSQL、支援PHP,Ruby,Perl,還有映射備份,還不錯哩。

對了,名單上的第三家呢? DreamHost 蠻多人用的樣子,但是似乎偶會掛點不太穩的樣子。

使用 Rails 後記: 參考 bluehost 的 Rails 使用方法。另外我在上傳自己在 Windows 寫好的Rails時,碰到 Application error: Rails application failed to start properly 無法啟動Rails。找到這篇可以幫忙解決,注意 /public/dispatch.fcgi or dispatch.cgi or dispatch.rb 這三個檔案的 ruby path 跟權限要755