????????在 Rails 中雪情,Web 請求由 Action Controlle和 Action View 處理遵岩。通常,Action Controller 參與和數(shù)據(jù)庫的通信巡通,并在需要時執(zhí)行 CRUD 操作尘执,然后由 Action View 負(fù)責(zé)編譯響應(yīng)。Action View 模板使用混合了 HTML 標(biāo)簽的嵌入式 Ruby 語言編寫宴凉。為了避免樣板代碼把模板弄亂誊锭,Action View 提供了許多輔助方法,用于創(chuàng)建表單弥锄、日期和字符串等常用組件丧靡。
模板
????????Action View 模板可以用多種方式編寫。擴(kuò)展名是?.erb?的模板文件混合使用 ERB(嵌入式 Ruby)和 HTML 編寫籽暇,擴(kuò)展名是?.builder?的模板文件使用?Builder::XmlMarkup?庫編寫温治。
????????Rails 支持多種模板系統(tǒng),并使用文件擴(kuò)展名加以區(qū)分戒悠。例如熬荆,使用 ERB 模板系統(tǒng)的 HTML 文件的擴(kuò)展名是?.html.erb。
局部視圖
????????在視圖中我們使用?render?方法來渲染局部視圖:
布局
????????布局是渲染 Rails 控制器返回結(jié)果時使用的公共視圖模板绸狐。通常卤恳,Rails 應(yīng)用中會包含多個視圖用于渲染不同頁面。
視圖路徑
????????在渲染響應(yīng)時寒矿,控制器需要解析不同視圖所在的位置纬黎。默認(rèn)情況下,控制器只查找?app/views?文件夾劫窒。
????????我們可以使用?prepend_view_path?和?append_view_path?方法分別在查找路徑的開頭和結(jié)尾添加其他位置本今。