Rails Content_for/yield 问题 - 重复的内容

发布于 2024-12-08 16:15:37 字数 489 浏览 0 评论 0 原文

我正在尝试使用命名的yield 块在我的应用程序页面中加载一些javascript,但由于加载我的视图页面的通用yield ,代码是重复的。像这样的东西:

-----视图中存在的代码-----

<% content_for :bottom_scripts do %>
    <script type="text/javascript">
             Some Javascripts
    </script>
<% end %>

------我的应用程序页面中的代码-----

<div id = "body">
    <%= yield %>
</div>
<%= yield :bottom_scripts %>

脚本代码打印两次,但我需要它只在第二次打印产量,有什么想法吗?

I'm trying to load some javascript in my application page using a named yield block, but the code is duplicated because of a generic yield that load my view pages. something like that:

-----Code present in views-----

<% content_for :bottom_scripts do %>
    <script type="text/javascript">
             Some Javascripts
    </script>
<% end %>

------Code in my application page-----

<div id = "body">
    <%= yield %>
</div>
<%= yield :bottom_scripts %>

The script code is printed twice, but I need it just printed in the second yield, any thoughts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只怪假的太真实 2024-12-15 16:15:37

您可以在布局中使用 content_for 而不是yield

,当 content_for 未传递块时,它会输出存储在

视图中该标识符处的块:

<% content_for :foo do %>
   <p>Bar</p>
<% end %>

在布局中:

<%= content_for :foo %>

http://apidock.com/rails/ActionView/Helpers/CaptureHelper/content_for

you can use content_for in your layout instead of yield

when content_for is not passed a block it outputs the block stored at that identifier

in view:

<% content_for :foo do %>
   <p>Bar</p>
<% end %>

in layout:

<%= content_for :foo %>

http://apidock.com/rails/ActionView/Helpers/CaptureHelper/content_for

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文