在视图中嵌入 Rails 视图

Posted

技术标签:

【中文标题】在视图中嵌入 Rails 视图【英文标题】:Embedding a rails view within a view 【发布时间】:2014-11-14 22:08:08 【问题描述】:

Rails 菜鸟在这里。我正在尝试创建单页滚动站点similar to this ...但是,你知道,它几乎没有那么吸引人:-)

无论如何,我的 javascript 工作正常,但是我已经开发了很多内容(联系表格、关于我们的页面等),这些内容以不同的视图显示在各种 html.erb 文件中。与其将每个视图的内容剪切并粘贴到一个 home.html.erb 中,我想知道是否有一种干净的方法可以将每个视图的内容嵌入到我的主页视图中。像这样的:

<h1>My awesome homepage!</h1>
<div>
    <div id="about">
    <%= put_page_here page=about_us %>
    </div>
    <div id="our_product">
    <%= put_page_here page=about_us %>
    </div>
    <div id="contact">
    <%= put_page_here page=contact %>
    </div>
</div>

如果您建议以完全不同的方式解决此问题,请告诉我。

非常感谢!

【问题讨论】:

【参考方案1】:

这应该可行:

<%= render partial:"shared/contact_us", locals:variable:value %>

请注意,它将在app/views/shared/_contact_us.html.erb 中查找视图 - 请注意视图之前的_。通过locals 传递视图需要的变量。有关在here 周围传递变量的更多信息。

【讨论】:

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

如何使用 scruffy 和 rails

Rails 视图规范:无法在命名空间视图中找到局部视图

在 Rails 中添加视图

如何在 Rails 视图中注释代码?

在视图中呈现现有类别,rails

如何将 Rails 视图助手提取到 gem 中?