Partial
Partial 也是一個很常用的功能,翻成白話文就是 "借畫面"
我們只要在想要借畫面的頁面中使用 render
的方法就可以了!但這邊的慣例要記住:要被借畫面的檔案前面需要有底線"_"的名字,否則不會成功,來看看下面的範例
目前有兩個檔案: index.html.erb 跟 _form.html.erb 都在 views/qoos 的路徑底下
1 | #index.html.erb |
1 | #_form.html.erb |
最後 index.html.erb 的畫面就會渲染出 _form.html.erb 的畫面
如果要渲染不同資料夾的檔案,只要把路徑寫清楚即可
1 | <%= render "shared/form" %> |
上面的例子中會渲染 views/shared/_form.html.erb. 的畫面
同時使用 layout
我們在渲染 partial 的時候還能同時渲染 layout 喔!
但這時候需要把 partial 跟 layout 分別是哪份文件都標明清楚,可以看看下面的例子
1 | # index.gtml.erb |
1 | # _form.html.erb |
1 | # _super.html.erb |
產生的畫面如下
這邊要特別注意注意兩點:
- 這邊的 layout 也是要在同一個資料夾,檔案名稱有底線的檔案喔,而不是在 layout 資料夾中的檔案!
- 別忘記 application 的 layout 還是會渲染出來,畫面中 application layout 那一行就是寫在 layouts/application.html.erb 的內容
接下來會介紹如果 partial 中需要變數的話要怎麼傳給他,敬請期待!