寫在前面:
第一次,寫連載啊,希望能對自己和各位看官有點幫助,多了解一點RubyOnRails開發上的情況吧。能夠有點幫助,這就是堅持的理由。^_^
生命百科全書:www.eol.org
網站是基於RoR的,內容是做互動的生命百科博物館,本文主要介紹,如果通過該網站提供的代碼,建立起RoR的網站,並且學習,該網站中使用到的一些,RoR最普通的技術。
資源地址如下,匿名svn下載。
svn://repository.eol.org/eol/trunk/
配置前提
安裝ruby
rails和mysql最流行的要求。
其次,
安裝gems包
列表如下:
1. ZenTest
2. ruby-debug
3. piston
4. hpricot
實際上這些包都集成到vendor下的gems下了。這是一個相當閃光的辦法。對待gem像對待plugin一樣,不gems放到vendor gems下
安裝如下:
Ruby代碼
rake gems # This could give you some errors... rake gems:build # if there are gems that aren't installed or you got that big error... rake gems:install # if there were gems that are STILL missing...
配置數據庫
拷貝config/database.yml
根據需要把demo development 和master_database數據庫配置正確
加載數據
Ruby代碼
rake eol:db:create:all # Note the "EOL". This keeps bad things from happening. Please use it. rake db:migrate rake db:migrate RAILS_ENV=test rake truncate rake scenarios:load NAME=foundation,bootstrap rake eol:site_specific repo=URL # Your "URL" (or an alternative) will be provided to you privately.
這裡值得學習的是scenarios的加載,比起fixture好用很多,這個插件也在vendor目錄下,具體配置和運行是,要看lib下taasks中的rake文件。
運行
Ruby代碼
script/server
並在 http://localhost:3000 下訪問,相信到這裡我們都已經把網站建立起來了吧。看著應該還不錯吧。
測試
該項目的測試使用的是RSpec,這個流行的測試插件,比起rails的unit test寫asset 要直觀很多。具體可以看spec的目錄
執行
Ruby代碼
rake spec rake specdoc #out put doc
你也可以用test password作為口令,測試權限部分。有些特別的頁面,可以根據權限進行分配。