问题标签 [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.
ruby - yield :content 不显示 content_for :content
我想我有同样的问题。 使用多个 yield 插入内容
我尝试了解决方案。在我看来,我试图<%= yield :content %>
在我的 application.html.erb 和 havecontent_for :content
和yield
里面。但它不适用于我的应用程序。您能否就我的问题进行更多解释或提供示例场景?
里面的链接不能重新加载,所以我不会在我将显示的每个模板上使用渲染部分。
我最近才开始学习 Rails,所以对我来说有点困惑。谢谢你。
我试过这个;这只是一个示例,稍后我将修复侧边栏的连接。
在我的 applicaion.html.erb
在我的 menu_tables.html.erblayouts
文件夹中。
在我的 routes.rb
然后在 menu_tables 控制器下的 _sidemenu.html.erb 中是链接的代码,因此侧边栏的每个链接都有不同的侧边菜单。
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-
ruby-on-rails - Rails中带有图像标签的部分
我在使用content_for
.
这是我的代码:
home.html.erb
_jumbo.html.erb
一切都按照我想要的方式呈现,但文本profile_alexpic.jpg
是在图像旁边输出的。我该如何防止这种情况?
ruby-on-rails - Rails content_for 不渲染部分
由于某种原因,我无法在content_for
块内渲染部分内容。
这是代码:
出于某种原因,以下内容不包括我完全渲染后的部分内容:
我看不出这不起作用的原因。任何帮助表示赞赏。当直接在我的 -partial 中渲染部分时headinclude
,一切正常。
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
其他地方命名为变量的常量。
ruby-on-rails - 通过 slim 生成 HTML 属性
我正在尝试通过 content_for 在 slim 中生成一个 html 标记属性。
我想得到的输出是这样的:
我尝试过的(该工作)如下:
在我看来
并来自我的应用模板
但是如果我想从我的 content_for 传递属性及其值,我找不到正确的语法。
我尝试了很多没有机会的事情,例如:
或者
在我看来是这样的:
感谢您的任何想法!
关于评论:
或者
生产:
或者
生产:
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 块是否有解决方法?
https://gist.github.com/stackng/891895
https://rails.lighthouseapp.com/projects/8994/tickets/3409-content_for-and-fragment-caching
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 程序员,任何帮助将不胜感激。
ruby-on-rails - 将 content_for 与脚本标签的 src 属性一起使用?
我想出了如何使用content_for
某些元素,例如<title>
:
但是当我需要注入带有属性的<script>
标签时,我似乎无法让它工作。src
即这段代码:
如何在页面content_for
中放置脚本标签(带有src
属性)head
?
ruby-on-rails - Rails 5:content_for 和 yield 不起作用
我在application.html.erb
下面有一个 content_for 块
然后sessions/new.html.erb
我在下面调用yield
对于它的价值,我已经turbolinks
启用。
但没有打印。
可能是我遗漏了一些东西,任何解决这个问题的帮助都会很棒,谢谢。