ROR:嵌套视图

Posted

技术标签:

【中文标题】ROR:嵌套视图【英文标题】:ROR: Nested views 【发布时间】:2012-10-27 10:20:11 【问题描述】:

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

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

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

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

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

【问题讨论】:

【参考方案1】:

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

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

例如:

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

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

【讨论】:

以上是关于ROR:嵌套视图的主要内容,如果未能解决你的问题,请参考以下文章

Android在活动视图中附加片段获取片段已添加错误

Ruby 修改嵌套哈希的元素

iOS 嵌套滚动视图——一直滚动到超级视图?

嵌套滚动视图内的 Recyclerview 滚动,但不像普通 Recyclerview 或嵌套滚动视图那样快速滚动

带有嵌套视图的离子侧菜单和选项卡:选项卡嵌套视图的内容未显示

如何快速管理嵌套的视图控制器视图大小?