我的应用程序中有一个页面对象和各种模板对象。页面有名称,描述URL等,每个页面都与模板有关系。模板具有不同数量的内容框以及与其他控制器(如博客,画廊等)的关系。
当我渲染页面时,我可以找出附加到页面的模板,以及相关内容的基础。但我不确定渲染嵌套Items的最佳方法是什么。
您是否打算以某种方式在另一个视图中呈现模板视图?或者你只需要完全改写视图?在这种情况下,我是否必须为每个不同的模板创建一个额外的模板视图,将其与页面视图捆绑在一起,然后只有在它是正确的时才包含它?
画廊和博客的情况是否相同?他们都需要与页面捆绑在一起吗?或者它可以从正确的位置调用吗?
我不确定这里的最佳做法是什么,并且没有任何运气用谷歌搜索它。我怀疑使用的关键词是不正确的。或者这是不值得记录的常识。
答案 0 :(得分:0)
您可以使用共享部分来渲染视图。查看this guide。
在视图中,您可以根据您想要的条件渲染部分内容。
例如:
- if params[:page] == "my_page"
= render "shared/my_page"
当然,您仍然需要在控制器中设置所需的数据。
此共享逻辑可以放在Application Controller
。