ROR:嵌套视图

时间:2012-10-27 10:20:11

标签: ruby-on-rails model-view-controller view controller nested

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

当我渲染页面时,我可以找出附加到页面的模板,以及相关内容的基础。但我不确定渲染嵌套Items的最佳方法是什么。

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

画廊和博客的情况是否相同?他们都需要与页面捆绑在一起吗?或者它可以从正确的位置调用吗?

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

1 个答案:

答案 0 :(得分:0)

您可以使用共享部分来渲染视图。查看this guide

在视图中,您可以根据您想要的条件渲染部分内容。

例如:

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

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