Javascript 在 Rails 应用程序中包含标签最佳实践

Javascript Include Tag Best Practice in a Rails Application(Javascript 在 Rails 应用程序中包含标签最佳实践)
本文介绍了Javascript 在 Rails 应用程序中包含标签最佳实践的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

假设我需要在 ERb 模板的 <head> 中调用一个 javascript 文件.我的直觉是照常行事:

Say I need to call a javascript file in the <head> of an ERb template. My instinct is to do the usual:

<head>
<%= javascript_include_tag :defaults %> <!-- For example -->
</head>

在我的应用程序布局中.问题当然是这些 javascript 文件被加载到我的应用程序中的每个页面中,无论正在查看的页面是否需要它们.

in my application's layout. The problem of course becoming that these javascript files are loaded into every page in my application, regardless of whether or not they are needed for the page being viewed.

所以我想知道是否有一种很好的方法可以将 javascript 加载到例如仅在特定目录中找到的所有 ERb 模板的标头中.

So what I'm wondering is if there's a good way of loading a javascript into the the headers of, for example, all ERb templates found only in a specific directory.

推荐答案

我会使用 content_for.

例如,指定将其插入应用程序布局的位置:

For instance, specify the place to insert it in the application layout:

<head>
<title>Merry Christmas!</title>
<%= yield(:head) -%>
</head>

然后从视图发送到那里:

And send it there from a view:

<%- content_for(:head) do -%>
<%= javascript_include_tag :defaults -%>
<%- end -%>

这篇关于Javascript 在 Rails 应用程序中包含标签最佳实践的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

jasmine.createSpyObj with properties(jasmine.createSpyObj 与属性)
What#39;s a good way to reuse test code using Jasmine?(使用 Jasmine 重用测试代码的好方法是什么?)
Does Jasmine#39;s toThrow matcher require the argument to be wrapped in an anonymous function?(Jasmine 的 toThrow 匹配器是否需要将参数包装在匿名函数中?)
Jasmine - Spying on a method call within a constructor(Jasmine - 在构造函数中监视方法调用)
Getting requirejs to work with Jasmine(让 requirejs 与 Jasmine 一起工作)
How can I spy on a getter property using jasmine?(如何使用 jasmine 监视 getter 属性?)