2011-06-09 49 views
9

我想了解html.erb文件如何工作,並且我對渲染和yield命令有點困惑,因爲它們似乎都是通過替換其他html代碼來使文件更清潔和更簡單的方法。 erb文件。有人能向我解釋渲染和收益之間的區別嗎?嵌入式Ruby - 渲染與收益?

回答

5

render用於調用部分頁面模板,而yield用於希望輸出模板以產生其內容的佔位符。因此,在構建內容時使用渲染,並從本質上顯示內容。

作爲一般的經驗法則,yield用於'佈局'級別模板(最基本的示例,/ app/views/layout目錄中的application.html.erb)。渲染用於你的資源/動作特定模板。

另請參閱content_for標記(塊)以及如何使用它來進一步將應用程序級別模板分解爲多個部分。

必需指南@rubyonrails.org鏈接:http://guides.rubyonrails.org/layouts_and_rendering.html