《Rails-Guides》Reading notes seven:Action View Overview

????????在 Rails 中,Web 請(qǐng)求由 Action Controlle和 Action View 處理。通常,Action Controller 參與和數(shù)據(jù)庫(kù)的通信,并在需要時(shí)執(zhí)行 CRUD 操作,然后由 Action View 負(fù)責(zé)編譯響應(yīng)。Action View 模板使用混合了 HTML 標(biāo)簽的嵌入式 Ruby 語(yǔ)言編寫(xiě)。為了避免樣板代碼把模板弄亂,Action View 提供了許多輔助方法,用于創(chuàng)建表單、日期和字符串等常用組件。

模板

????????Action View 模板可以用多種方式編寫(xiě)。擴(kuò)展名是?.erb?的模板文件混合使用 ERB(嵌入式 Ruby)和 HTML 編寫(xiě),擴(kuò)展名是?.builder?的模板文件使用?Builder::XmlMarkup?庫(kù)編寫(xiě)。

????????Rails 支持多種模板系統(tǒng),并使用文件擴(kuò)展名加以區(qū)分。例如,使用 ERB 模板系統(tǒng)的 HTML 文件的擴(kuò)展名是?.html.erb。

局部視圖

????????在視圖中我們使用?render?方法來(lái)渲染局部視圖:

布局

????????布局是渲染 Rails 控制器返回結(jié)果時(shí)使用的公共視圖模板。通常,Rails 應(yīng)用中會(huì)包含多個(gè)視圖用于渲染不同頁(yè)面。

視圖路徑

????????在渲染響應(yīng)時(shí),控制器需要解析不同視圖所在的位置。默認(rèn)情況下,控制器只查找?app/views?文件夾。

????????我們可以使用?prepend_view_path?和?append_view_path?方法分別在查找路徑的開(kāi)頭和結(jié)尾添加其他位置。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容