本章將淺談:
從本 blog 裡用到的 Database Relationship (資料庫關聯) 為例
解說 Rails 裡的 Active Record Association
- 基本概念
- 延伸運用
- 多對多關聯
第四章的七個 Action 我們都在上一節講完了,但似乎漏掉一個小部分沒有解釋到:
def group_params
params.require(:group).permit(:title, :description)
end
這一段程式碼到底是什麼意思呢?這一段程式碼是 Strong Parameter 的 permit 機制。
Strong Parameters 的緣起
2012 年 Github 曾經發生轟動一時的 被 hack 事件
原本只是一個好心的 hacker 發現漏洞回報問題
因為沒人理他(!?) 所以乾脆直接 hack 給大家看,來證明此問題的嚴重性 XDDD
本章淺談:
暫時不去看 view 的部分
好好觀察在 CRUD 的機制裡 Controller 是怎麼運作的
又是怎麼跟 Model 互動
Model 又是用什麼方式來驗證資料跟存取資料庫
可以另外再開一個分頁 打開 2-1. 手動實作出有 CRUD 功能的討論版
最下面 app/controllers/groups_controller.eb 的內容,用來對應下面要描述的東西
本章將淺談:
HTTP Request 與 HTTP Verb
MVC架構 => Rails的基本運作原理
RESTful淺談
模擬要建立一個有 CRUD (Create Read Update Destroy)功能的討論版
在MVC架構下要做什麼東西出來
What is CRUD?
CRUD 是一個縮寫,由
Create
Read
Update
Delete
四個單字組成,剛好也是一個網站運作最最最基本的功能
創建
讀取
更新
刪除
Why should not use scaffold?
在前二篇,我們體驗了用 Rails 內建的鷹架模式快速地做了一個有 『 CRUD (註) 』 功能的留言板
Scaffold 是個很方便的功能,但如果您想成為一個稱職的 Rails developer
必須要學會如何 從零做出一個 CRUD 功能
有很多很酷的功能,都是由最基本的 CRUD 設定去做延伸,
如果太依賴 Scaffold ,會讓您很難理解如何學習、創造出來
Bootstrap 是目前網站開發裡最好用的前端 CSS 套件
在 Rails 可以使用 ruby 函式庫 (gem) 來把 Bootstrap 裝進我們的專案裡面
建立一個全新專案
打開 Terminal or iTerm2
rails new first-app
建立一個新的 Rails 專案
cd first-app
進入 first-app 專案資料夾
git init
建立 git 版本控制
git add .
git commit -m "Commit Initial"
第一次 Commit (存檔)