![](/img/trans.png)
[英]Rails 4: “//= require_tree .” in application.js doesn't include my js file in /app/assets/javascripts
[英]How can I call upon a JS script in my /app/assets/javascripts folder from a View page in Rails?
我正在尝试将实时时钟添加到我使用Rails构建的Web应用程序中,并且找到了一个答案,该答案为我提供了时钟的JS。 解决方案可以在这里找到: 如何以HH:MM:SS格式显示JavaScript中的当前时间?
我已将代码添加到我的/ app / assets / javascripts文件夹中,标题为“ time.js”。
如何在此脚本中调用该方法以在主页上运行/渲染(在Webapp的“视图”部分中称为“ Home.html.erb”)。
这是JS Clock脚本的代码:
(function () {
function checkTime(i) {
return (i < 10) ? "0" + i : i;
}
function startTime() {
var today = new Date(),
h = checkTime(today.getHours()),
m = checkTime(today.getMinutes()),
s = checkTime(today.getSeconds());
document.getElementById('time').innerHTML = h + ":" + m + ":" + s;
t = setTimeout(function () {
startTime()
}, 500);
}
startTime();
})();
这是我的“ home.html.erb”页面中的代码,我试图在其中呈现代码:
<div class="col box">
<p><i class="far fa-clock"></i><%= javascript_tag "startTime()" %></p>
</div>
我在config / initializers / assets.rb下也有以下内容:
Rails.application.config.assets.precompile += %w( time.js )
在“ application.html.erb”下面:
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag "time", 'data-turbolinks-track': 'reload' %>
抱歉,之前没有示例/不清楚的问题!
TL; DR是我正在尝试在“ home.html.erb”文件中的“ time.js”中运行代码,但不知道如何执行。
问候,劳萨
您可以使用javascript_include_tag通知素材资源管道在页面中包含Javascript文件
有关资产管道的更多信息以及如何在此处使用javascript_include_tag
我不确定这是否正确,因为我有点困惑,但是我知道您只想运行JS脚本。 假设您已经将该脚本包含在home.html文件中,那么它应该可以工作。
检查您是否正确进入了正确的文件,即使用... /在目录中向后移动。
如果失败,并且没有任何示例或代码链接,请检查是否已将div包含时间id(如链接中的示例所示),因为这是将JS中的HTML写入其中的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.