0

我的应用程序中有一个页面对象和各种模板对象。页面有名称、描述 url 等,每个都与模板有关系。模板具有不同数量的内容框以及与其他控制器(如博客、画廊等)的关系。

当我渲染一个页面时,我可以计算出页面上附加了什么模板,以及相关内容是基于什么的。但我不确定渲染嵌套项目的最佳方法是什么。

您是否打算以某种方式从另一个视图中呈现模板视图?还是您必须完全重写视图?在这种情况下,我是否必须为每个不同的模板创建一个额外的模板视图,将其与页面视图捆绑在一起,然后仅在正确的情况下才包含它?

画廊和博客也会这样吗?它们都需要与页面捆绑在一起吗?还是可以从正确的位置调用它?

我不确定这里的最佳做法是什么,也没有运气谷歌搜索它。我怀疑我使用的关键词不正确。或者这是不值得记录的常识。

4

1 回答 1

0

您可以使用共享部分来呈现视图。查看本指南

在视图中,您可以根据所需的任何条件渲染部分。

例如:

- if params[:page] == "my_page"
  = render "shared/my_page"

当然,您仍然需要在控制器中设置所需的数据。对此的共享逻辑可以放在Application Controller.

于 2012-10-27T12:21:50.983 回答