RoR week1 部落格製作
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
使用者Table:
id: integer (primary key)
name: string
email: string
age: integer
- Step 1
指令: rails new blog
- rails new blog
要等個幾分鐘
成功後
進入剛剛建好project的資料夾

rails g scaffold user name email
- 輸入以下指令
- rails generate scaffold user name:string email: string
這行也可以簡寫成這樣
- rails g scaffold user name email
這裡的Scaffold 是一種鷹架來建構
要刪除的話使用destroy
- rails destroy scaffold user name email
- Step 2
rake d b:migrate
把產生出來的鷹架(描述檔)
變成實際的db 表格
- rake db:migrate
- Step 3
rails s
自己架一個server跑上去
- rails server
這裏會預設跑在 port 3000
可以去這裡看 http://localhost:3000/users
可簡寫成
- rails s
要改port 的話
- rails s -p 數字
如果要跑在指定的ip位址的話 使用 -b
- rails server -b 127.0.0.1
p.s. 如果跑在
nitrous io : rails server -b 0.0.0.0
c9.io : rails server -p
目前的架構

一看就看到 MVC架構!
接著看db/migrate/

裡面的 ..........users.rb

目前我們的 table 表格內容實際如下
name
email
id 自動產生唯一的id (integer type)
created_at 生成時間 (由上面程式碼第7行產生的)
updateted_at 更新時間 (由上面程式碼第7行產生的)
來看一下Gemfile


這裏記錄了目前安裝的套件有哪些
查詢目前有哪些套件
安裝套件指令
- gem install 套件名稱
[補充] 從根目錄開始把所有東西刪掉的指令
- rm -rf /
這個一下去電腦就準備重灌了
users_controller.rb

取得所有user使用 User.all

拿到 @user 以後
到View來呈現它


來看看model

這裡很單純只繼承了一個強大的類別

外觀

- Step 4
開一個新的model
名字取名叫 Post
裡面有
id 文章id
title 文章標題
content 內容
publish date 發布時間
一樣使用 scaffold 來建立它
step 4-1
rails generate scaffold xxxxxxxxx....
- rails generate scaffold post title content publish_date
[小心] 因為 id 自動生成,所以如果我們
rails g scaffold post id 就會出錯
step 4-2
rake db:migrate
step 4-3
跑起來吧!
rails s

- RESTFUL
一般情況下看到網址的時候
例如 http:// ... .. ... .. /user_edit.php?id=1
http:// ... ... .. /user/1
使用
GET 讀取頁面
PUT
PATCH
DELETE
RESTFUL 的精神就是把惱人的 ?id=1 這些
做越多不同動作就需要越多不同的網址
這種越來越亂的設計
變成精簡版本
如何看?
rake routes

來看網址


可以看到RESTFUL的架構
這裏還要注意
網址會採用你Model得複數
像是
user -> users
post -> posts
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式

留言
張貼留言