来自 application.html.erb 的 Rails 渲染实例变量

2024-02-14

我正在关注《Agile Web Development with Rails 4》这本书,我对渲染的部分感到有点困惑。问题的简单版本是......在 application.html.erb 文件中它说

render @cart

这很令人困惑,因为我认为需要有一个与该视图关联的控制器才能知道要使用哪个部分和 @cart 变量。是否只是通过命名约定来查找像 _cart.html.erb 这样的部分?在这种情况下,在渲染该部分之前,它实际上并不知道 @cart 是什么?

一些澄清会很可爱。谢谢!


这是一个简写语法。来自文档 http://guides.rubyonrails.org/layouts_and_rendering.html:

每个部分还有一个与部分同名的局部变量(减去下划线)。您可以通过 :object 选项将对象传递给此局部变量:

<%= render partial: "customer", object: @new_customer %>

在客户部分中,客户变量将从父视图引用@new_customer。

如果您有一个模型实例要渲染为部分模型,则可以使用简写语法:

<%= render @customer %>

假设 @customer 实例变量包含 Customer 模型的实例,这将使用 _customer.html.erb 来呈现它,并将局部变量 customer 传递到将引用父视图中的 @customer 实例变量的局部变量中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

来自 application.html.erb 的 Rails 渲染实例变量 的相关文章

随机推荐

  • 片段中的列表视图不起作用

    这是我的片段代码 public class LeftFragment extends ListFragment ArrayList
  • 带参数的装饰器[重复]

    这个问题在这里已经有答案了 代码如下 def my dec func def wrap w t func w return t 4 return wrap my dec def testing n return n new testing
  • C# Web 浏览器选择列表项单击

    我正在尝试使用以下方法从选择列表框中选择项目 var elements webBrowser1 Document GetElementsByTagName select foreach HtmlElement element in elem
  • 什么相当于 C# 中的 Microsoft.VisualBasic.Collection?

    我有一个方法 它需要一个存储过程名称和一个Microsoft VisualBasic Collection http msdn microsoft com en us library microsoft visualbasic collec
  • 在 Laravel 4 中缓存视图输出

    我知道 Blade 已经缓存了所有 Blade 视图的已编译 PHP 但我想更进一步 我正在开发的一个网站被模块化为组件视图 然后在默认控制器中拼凑在一起 每个 小部件 都有自己的视图 很少更改内容 少数频繁更新的除外 因此 我想缓存这些很
  • Jvectormap 在 div 变化时非常小

    我有两个 div 一个是世界地图 另一个是美国地图 当在世界地图上单击美国时 我想隐藏该 div 并将美国地图带入视图 这是可行的 但地图很小 即使缩放按钮的位置表明 div 的大小是它应该的大小 有任何想法吗 如果我从一开始就将两个 di
  • 获取php中两个日期之间的周数

    我想获取给定两个日期的周数 即从 2012 01 01 到 2012 12 31 周数应该恰好落在上面指定的范围内 您可以为此提供建议吗 像这样的东西应该可以正常工作
  • 如何使用 VisualSVN Server 将现有 Visual Studio 解决方案置于源代码管理之下?

    我有一个现有的 Visual Studio 2013 解决方案 我想使用 VisualSVN Server 将其置于源代码控制之下 我安装了 VisualSVN Server 并创建了一个新的空白存储库 他们的入门 https www vi
  • MuPdf 内存不足

    您好 我在项目中使用 MuPdf 库来查看文档 问题是 当您在平板电脑上的 11 英寸 Activity 中打开 3 7 个文档时 我会出现内存溢出 当您加载新文档时 对先前文档的所有引用都会被销毁 但内存中文档的图像不会被删除 对象在 1
  • 如何在软键盘顶部的建议中添加单词

    有什么办法可以在软键盘的建议中添加单词吗 对于特定的 Edittext 字段 我想将名称列表添加到 android 2 0 中软键盘顶部弹出的建议中 有谁知道这是否可能 Here http android git kernel org p
  • 侧边栏增强插件已安装但不起作用

    系统配置 Sublime Text3 内部版本 3065 Ubuntu 14 04 我想在浏览器中添加预览 发现侧边栏增强功能 Be https github com titoBouzout SideBarEnhancements是最好的插
  • SQL Server DATE 作为字符串检索到 pandas 中

    当我将 日期 变量从 SQL Server 拉入 Python Pandas 时 它作为 对象 出现 我已经安装并尝试了多个驱动程序 代码中显示了尝试过的注释驱动程序 每次都有相同的结果 import pandas as pd import
  • 如何将位图纹理的每个像素渲染到 macOS 上屏幕的每个本机物理像素?

    由于现代 macOS 设备默认选择使用缩放后的 HiDPI 分辨率 位图图像在屏幕上会变得模糊 有没有办法将位图逐像素渲染到显示屏的真实本机物理像素 任何 CoreGraphics OpenGL 或 Metal API 都可以在不改变屏幕显
  • 更改位图的色调,同时保留整体亮度

    我正在尝试编写一个函数 让我可以对位图进行红移或蓝移 同时保留图像的整体亮度 基本上 完全红移的位图将具有与原始亮度相同的亮度 但完全呈红色 即所有像素的 G 和 B 值都相等 蓝色着色相同 但 R 和 G 相等 频谱偏移的程度需要在 0
  • 绝对定位和CSS粘性页脚

    这是我的问题 我使用的布局具有粘性页脚 使用 cssstickyfooter com 方法 在我的容器 div 中 我有一个内容 div 其中包含其他四个 div 像这样 div class container div class cont
  • 何时使用.NET BufferedStream 类?

    The MSDN 网站 http msdn microsoft com en us library system io bufferedstream aspx states 缓冲区是内存中的一个字节块 用于缓存数据 从而减少 拨打运营商电话
  • iBeacon 广告 ID 是否唯一?

    我们正在讨论在跨国多个地点使用 iBeaons 进行大规模部署方案 有人提出的问题是 iBeacons 宣传其存在的 ID 是否是唯一的 因为我们的客户希望真正确保应用程序仅响应特定的 iBeacons 而不响应冒充相同 ID 的其他内容
  • 反转字符串中每个单词中的字母

    我有一个包含空格分隔单词的字符串 我想颠倒每个单词中的字母而不颠倒单词的顺序 我想my string成为ym gnirts 这应该有效 words explode string words array map strrev words ec
  • 在大型数据集上改变窗口大小的滚动平均值

    我想计算向量的滚动平均值 其中窗口随着向量中的每个条目而增长 基本上 我想要所有元素的平均值i th i 1 th i 2 th 依此类推 为了使它更清楚 我将提供一个示例和一个适用于较小数据集但不能很好扩展的解决方案 library zo
  • 来自 application.html.erb 的 Rails 渲染实例变量

    我正在关注 Agile Web Development with Rails 4 这本书 我对渲染的部分感到有点困惑 问题的简单版本是 在 application html erb 文件中它说 render cart 这很令人困惑 因为我认