我正在尝试在我使用Rails构建的WebApp上添加一个实时时钟,并且找到了一个答案,使我为时钟提供了JS。该解决方案可以在这里找到:如何以HH的格式显示JavaScript中的当前时间:MM:SS?
我已经在" time.js'"标题下将代码添加到我的/app/Assets/javaScripts文件夹。
我该如何调用此脚本中的方法以在我的主页上运行/渲染(在我的WebApp的视图部分中称为'home.html.erb'(。
这是JS时钟脚本的代码:
(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>
i在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'文件中运行代码,但不知道该怎么做。
问候,llausa
您可以使用javascript_include_tag告诉资产管道以在页面中包含javascript文件
有关资产管道以及如何使用Javascript_include_tag的更多信息
我不确定这是正确的,因为我很困惑,但我知道您只想运行JS脚本。假设您已将脚本包含在home.html文件中,则应该起作用。
检查您是否正确地转到正确的文件,即使用.../用于在目录中向后返回。
失败了,没有任何示例或链接到您的代码,请检查您是否包含了带有时间ID的DIV(按照链接中的示例(,因为这是它从JS到。