在開始一個專案的時候,新手常常不知道從哪邊開始
決定整理一下專案製作的流程
本文主要陳述思考的脈絡,執行的指令就不贅述
如果有錯,也請路過的各位高手不吝指教
那麼我們便開始吧~
建立專案,最一開始當然是要 new 一個專案囉~
不過新手常常直接就 new 下去了,若是直接 new 一個新專案,rails 會使用目前環境最新的版本產出檔案。不過跟著一些線上課程或是一些線上資源操作的時候,教材也許不是使用最新版本的rails。因此建議在建立專案的時候指定適合的版本,指定的方法如下:
#記得在版本前後要加入底線
rails _6.1.4.6_ new myproject
如果你還沒有rails 6
那麼你可以先執行
# -v 後面請依照需求設定版本
gem inatall rails -v 6.1.4.6
想知道自己現在的版本可以執行
rails -v
若之前沒有使用過rails 6,在建立新專案前,要先安裝 yarn 這個套件,許多人在初嘗試rails安裝環境失敗,通常都是沒有先安裝 yarn
brew install yarn
以上步驟執行順利的話,最難的部分已經結束XD
接下來的步驟是給常常不知道下一步該做什麼的新手參考
Rails 是利用 MVC 的設計模式開發, MVC 由 Model、View、及 Controller所組成,如果還不清楚的朋友,建議可以先停下來,了解一下 MVC 的架構。了解 MVC 分別在做什麼,才能知道自己下一步應該做些什麼事。
首先,要看到首頁,可以先想一下,每次你在看別的網頁的時候,是不是都有一串網址在上面,有了網址伺服器才知道你現在想要去哪裡。
所以,現在你應該想一下你的路由要叫什麼名字。並到 config 底下找到 routes.rb,設定路由,決定好路由後,便可以開始建立 controller 設定方法,而既然 controller 設定好了,要看到頁面,還要到 view 去產生和 controller 方法相對應的頁面名稱
頁面有了,接著就會想要在頁面呈現一些資料,如果需要存取資料,那麼就要有 model ,產生 model 的時候也會產生 migrate ,確認 migrate 沒問題後,記得存檔,並執行rails db:miagrate ,資料才會真的在 schema 喔!
以上順序每個人可能習慣略有不同,不過在專案要做某個 action 的時候,都應該要想一下,路由該怎麼送,知道路由後,才會知道頁面要往哪去,確定好路由後,就明白 controller 要做什麼,也會知道你需要怎麼樣的 view 頁面囉~
CRUD 通常順序是有了 index,之後會建立表單,送出的 button 通常想要 create 某個東西,因此需要先產生new action,每次做完 action都要想到相對應的頁面,通常需要再去製作一個 html.erb檔,這時就要想到,現在準備建立的表單可以重複使用,因此可以建立一個 partial form 檔案,而在原本的new表單就可以直接render表單。
表單建立完成,要送出資料,就要 create 出一個物件,這時候,就需要 create 的 action,在這個 action,需要考慮新增成功以及新增失敗兩種情況。
新增完成,想要檢視資料,就會回到 index 頁面,想在 index 的頁面看到資料,就需要回到 controller 在 index 的 action 設定。
以上資料完成後,接著可能需要編輯或是刪除,一樣,在編輯的時候,需要同時想到 edit 以及 update 兩個action,而 edit 頁面,因為和 new 使用的表單一樣,所以可以render剛剛的表單,送出資料的時候rails會自動判斷資料是想要新增還是更新,而在 update 的時候,一樣要思考更新成功以及更新失敗的狀況~
最後是刪除資料,刪除資料就沒有這麼複雜囉,找到資料後,把它刪除即可(在更熟練之後,需要考慮這個資料是否要真的刪除或是軟刪除,但這個環節就留到以後練習囉)