问题标签 [content-for]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1303 浏览

ruby - yield :content 不显示 content_for :content

我想我有同样的问题。 使用多个 yield 插入内容

我尝试了解决方案。在我看来,我试图<%= yield :content %>在我的 application.html.erb 和 havecontent_for :contentyield里面。但它不适用于我的应用程序。您能否就我的问题进行更多解释或提供示例场景?

里面的链接不能重新加载,所以我不会在我将显示的每个模板上使用渲染部分。

我最近才开始学习 Rails,所以对我来说有点困惑。谢谢你。

在此处输入图像描述

我试过这个;这只是一个示例,稍后我将修复侧边栏的连接。

在我的 applicaion.html.erb

在我的 menu_tables.html.erblayouts文件夹中。

在我的 routes.rb

然后在 menu_tables 控制器下的 _sidemenu.html.erb 中是链接的代码,因此侧边栏的每个链接都有不同的侧边菜单。

0 投票
1 回答
750 浏览

ruby - Rails Helper renders array, not html

If I call render_slider_items(["a.png", "b.png", "c.png"]) my webpage shows the array ["a.png", "b.png", "c.png"], not the html.

What would cause this?

UPDATE - Solution-

0 投票
0 回答
260 浏览

ruby-on-rails - Rails中带有图像标签的部分

我在使用content_for.

这是我的代码:

home.html.erb _jumbo.html.erb

一切都按照我想要的方式呈现,但文本profile_alexpic.jpg是在图像旁边输出的。我该如何防止这种情况?

0 投票
1 回答
1514 浏览

ruby-on-rails - Rails content_for 不渲染部分

由于某种原因,我无法在content_for块内渲染部分内容。

这是代码:

出于某种原因,以下内容不包括我完全渲染后的部分内容:

我看不出这不起作用的原因。任何帮助表示赞赏。当直接在我的 -partial 中渲染部分时headinclude,一切正常。

0 投票
1 回答
452 浏览

ruby-on-rails - Rails 视图可以指定一个 content_for 数组,以便视图和布局都是 DRY 吗?

背景:由于电子邮件客户端(错误)处理样式的方式,在 Rails 邮件布局中,所有样式都需要为每个标签内联,因此布局很冗长。

因此,例如,如果您有一个由 3 个段落 (%p) 组成的具有相同样式的信息块,则该样式必须应用于五个段落中的每一个。

所以现在假设文本是特定于帐户的并且来自视图(而不是被硬编码到布局中)。

如果它是已知的最大段落数(上例中为 3),则视图可以简单地指定 3 个 content_for 块(:foo、:bar 和 :foobar),并且布局可以有 3 个相应的产量(:foo、:bar 和:foobar) 像这样:

问题:如果您想将可变数量的段落传递给布局,但仍然让布局应用样式,该怎么办?有没有办法让视图指定一个包含 N content_for 元素的数组,以便布局可以简单地遍历它们?具体是这样的:

这样布局可能如下所示:

简单但有问题的方法:简单的做法是在视图中有一个content_for,其中包含所有 N 个段落,它们的相同样式重复 N 次,如下所示:

但这很臭(如代码异味),因为(a)它非常不干燥,甚至更糟(b)现在内联样式分布在单个布局和可能使用该布局的数十个视图之间......如果你改变您需要在很多地方更改“样式”,或者将其他地方的样式定义为字符串或在email_para_style_info 其他地方命名为变量的常量。

0 投票
0 回答
545 浏览

ruby-on-rails - 通过 slim 生成 HTML 属性

我正在尝试通过 content_for 在 slim 中生成一个 html 标记属性。

我想得到的输出是这样的:

我尝试过的(该工作)如下:

在我看来

并来自我的应用模板

但是如果我想从我的 content_for 传递属性及其值,我找不到正确的语法。

我尝试了很多没有机会的事情,例如:

或者

在我看来是这样的:

感谢您的任何想法!


关于评论:

或者

生产:


或者

生产:

0 投票
2 回答
538 浏览

ruby-on-rails - content_for 与片段缓存结合使用的解决方法

我试图在每个元素的基础上将内容插入页面的头部,所以我希望能够在部分中指定这样的内容:

并将其放在我页面的顶部:

但是元素部分被片段缓存,content_for在缓存中被忽略。

它在 Rails 文档中声明,content_for不适用于片段缓存的工作元素:

WARNING: content_for is ignored in caches. So you shouldn't use it for elements that will be fragment cached. http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-content_for

目前有没有办法content_for在 Rails 5.1 上使用片段缓存?似乎有一段时间没有人真正触及过这个问题。有人知道是否有原因吗?


这里有一些较早的提及:

对于 caches_action 和 :layout => false 的忽略 content_for 块是否有解决方法?

content_for 在开发中工作但不是在生产中工作?

https://gist.github.com/stackng/891895

https://rails.lighthouseapp.com/projects/8994/tickets/3409-content_for-and-fragment-caching

0 投票
1 回答
288 浏览

view - Rails 5.2.3 content_for 未按规定工作

所以,我已经阅读了一堆关于content_for的其他问题报告,但我仍然无法弄清楚我的代码中发生了什么。

我正在尝试从各种视图添加一些引导面包屑数据,每个视图都有不同的 content_for 基于代码中的位置。然后在我的 application.html.erb 中,我调用了一个渲染面包屑数据的部分。但是当我查看源时,数据是空的。

我以为我可能有订购问题,我不认为是这种情况,但我不太确定。

这是事件的顺序。我正在调用new.html.erb来为 new 渲染视图并设置 content_for 数据。然后在布局中,我在主布局的主体中调用部分_breadcrumb.html.erb来显示 content_for 数据。

新的.html.erb

_breadcrumb.html.erb

应用程序.html.erb

我知道部分正在呈现,因为除了 content_for 数据之外的所有内容都显示在源(和屏幕上)中。

但是,我在代码中的 yield :breadcrumb 一无所获。来源只是显示

谁能提供更多关于这个问题的见解?如果我需要提供更多信息,也请告诉我。我是一名新手 Rails 程序员,任何帮助将不胜感激。

0 投票
1 回答
31 浏览

ruby-on-rails - 将 content_for 与脚本标签的 src 属性一起使用?

我想出了如何使用content_for某些元素,例如<title>

但是当我需要注入带有属性的<script>标签时,我似乎无法让它工作。src即这段代码:

如何在页面content_for中放置脚本标签(带有src属性)head

0 投票
1 回答
50 浏览

ruby-on-rails - Rails 5:content_for 和 yield 不起作用

我在application.html.erb下面有一个 content_for 块

然后sessions/new.html.erb我在下面调用yield

对于它的价值,我已经turbolinks启用。

但没有打印。

可能是我遗漏了一些东西,任何解决这个问题的帮助都会很棒,谢谢。