我试图理解html.erb文件是如何工作的,我对render和yield命令有点困惑,因为它们似乎都是通过替换其他html中的代码来使文件管理器更清晰和更简单的方法.erb文件。有人可以向我解释渲染和产量之间的区别吗?
答案 0 :(得分:5)
render
用于调用部分页面模板,而yield
用于占位符,您希望模板的输出产生其内容。因此,在构建内容时使用渲染,然后屈服以显示内容。
作为一般经验法则,yield
用于“布局”级别模板(在最基本的示例中,/ app / views / layout目录中的application.html.erb)。渲染用于特定于资源/操作的模板。
另请参阅content_for
标记(块)以及如何使用它来进一步将应用程序级模板拆分为多个部分。
必须指导者@rubyonrails.org链接:http://guides.rubyonrails.org/layouts_and_rendering.html