Controller 跟 View 最基本的慣例
今天來到全新的章節,來看看他寫了什麼吧~
這整篇文章主要講的是 controller 跟 view 之間的互動關係
在 2.1 這邊提到了一個很常用的慣例
如果今天有一個 controller 叫做 CandidatesController,如果內容長這樣
1 | class CandidatesController < ApplicationController |
在 routes 檔案中有設定好路徑的前提下
雖然我們的 index 方法裡面什麼都沒寫,但他會根據這個 controller 跟 index 這個方法的名字去找到 views 資料夾底下 candidates 資料夾中有 index.html 字樣的檔案,檔案名稱有可能是 index.html.erb 或者 index.html.slim 等等
views/controller_name/action_name.html.erb => 會自動找到這裡來喔
檔案名其中的 erb 跟 slim 是樣版引擎,這裡面除了 html 的語法之外,還可以用特殊的方式容納其他語言的語法進來,這個方式根據不同樣板引擎會有不同的方法
Render 的基本使用
接下來文章中提到我們可以用 render 這個方法去渲染出很多種類的資訊,比較常用的是我們會需要去渲染出同一個 controller 裡面的 action
1 | # 以下六種方式都可以渲染出 candidates controller 中的 edit 畫面 |
render 後面還可以接其他種資訊
1 | # 要渲染出其他 controller 的畫面可以用 render template: |
在 render 後面,我們還可以額外增加一些屬性如下:
1 | # conten_type 指的是要用什麼格式去渲染,預設會用 text/html |
今天就先寫到這邊啦!請大家期待更多好歌吧(咦?)
參考資料
Rails Guide
[Rails] Action View, Layout, Partial, Render