Rails有很方便的helper可以使用,這是基於 RESTful 而產生的便利物。

但我在初接觸時,常常被名稱中的 s 搞亂,這部份詳細可以參考這篇文章裡的表格。

http://rails.pixnet.net/blog/post/22956704

helper 怎麼產生出來的原理我還沒學到,但是可以注意到,在 config/routes.rb 中加入的名稱,就是 controller 的名稱。

例如:map.resources :blogs

但是如果我的名稱命名時結尾沒有 s 要怎麼辦?這樣 routes 所產生的 helper 就會和常用的規則不一樣.......

所以命名時請養成加 s 的習慣,真的不想加也有解決辦法,就是寫成這樣

map.resources :blogs, :controller => "blog"

笨笨小蟹 發表在 痞客邦 留言(0) 人氣()

簡單總結,就是實作一個 blog

1. 開設 Rails 專案,設定好 Post model 的 CRUD(禁用 scaffold 寫)。

這部份有需要請參考深入淺出 RoR 系列的 4-1 ~ 4-3,當然前面要先看完。

http://rails.pixnet.net/blog/category/list/1603567

2. 附件功能,可使用 plugin 為 paperclip ,下指令 script/plugin install 安裝

http://github.com/thoughtbot/paperclip

裝好之後要按照 plugin 的 READ 做設定,請參考 Qucik Start 的部份

3. 建立 git 管理。先到 github 開新個的 repository ,然後按照 NEXT STEP 的步驟,把 origin master 推上去。

4. 權限控管功能,可使用 plugin 為 restful-authentication ,下指令 script/plugin install 安裝

http://github.com/technoweenie/restful-authentication

裝好之後要按照 plugin 的 READ 做設定,指令為 script/generate authenticated user sessions ,然後要 rake db:migrate

這樣網頁就會多出 login、logout、signup 等頁面

備註:這個 plugin 的功能是放在 lib/authenticated_system.rb

5. 使用者帳號功能裝好後,替各篇文章加上 user_id 的關聯,以及修改、刪除等功能得對應上 user_id 才有執行權限

6. 實作 comment 功能,用 script/generate 新增 comment 用的 controller。這部份直接參考 CRUD 的寫法。

7. 分頁功能,可使用 plugin 為 will_paginate ,下指令 script/plugin install 安裝

http://github.com/mislav/will_paginate

裝好之後不需要設定,直接參考README的範例去寫就可以

笨笨小蟹 發表在 痞客邦 留言(0) 人氣()

要寫 Rails 專案,而且想要一次到位,我覺得 git 必學,而且最好跟Rails同時練。

我師父教學時,先從 git 開始教,自己開一個 project 亂搞;github 就去註冊一個帳號,同樣也開 project,想辦法做 push/pull 的動作。

git add, git push, git pull, git commit, git branch, git checkout, git merge, git clone, git stash, git grep

這些都是之後寫 RoR 會常用的指令,先熟悉一下,然後再開始建立 Rails 專案,邊做邊學。

gitx 或 gitk 都是很不錯的圖形化介面,可以看到目前專案的主線、支線、commit 狀況等等;文字介面則有 tig 可以使用。

 

以下是學習可用的相關連結:

git Manual Page

Git 初學文件整理

Git 初學筆記 - 指令操作教學

Git 初學筆記 - 實作測試

Git 原始碼管理 (invalid link)

笨笨小蟹 發表在 痞客邦 留言(0) 人氣()

http://rails.pixnet.net/blog

想接觸Rails的新手必看必練!

http://blog.xdite.net/

不定期有文章,就算看不懂也要看過。

http://ihower.tw/training/

RoR教育訓練課程網站,一樣必看。

笨笨小蟹 發表在 痞客邦 留言(0) 人氣()

rake db:create

這是根據config/database.yml內容,直接到資料庫(看你.yml是設定哪種sql)產生database。

但是這樣直接下指令只會對development:之後有反應,如果也想讓test:或是production:的內容產生database,指令範例:

rake db:create RAILS_ENV=production (test自己比照辦理)


==============================

寫RoR的好處是,網路上有許多現成的plugin可以使用,不過要怎麼用呢?

一般而言,建議大家寫RoR搭配git使用(我師父也是這麼教),google之後你會發現很多資源都在github就有

plugin安裝的指令範例:

script/plugin install git://github.com/technoweenie/paperclip.git

切記不要直接下git clone git://github.com/technoweenie/paperclip.git,然後再安裝


==============================

script/destroy可以把script/generate手殘打錯生成的東西清掉。


==============================

有哪些目錄更動後,要重新跑script/server呢?

1. vendor/plugin/

2. lib/(但是裡面的tasks/不用)

3. config

笨笨小蟹 發表在 痞客邦 留言(0) 人氣()