Я пытаюсь добавить живые часы в веб-приложение, которое я создаю с помощью Rails, и я нашел ответ, который дает мне JS для часов. Решение можно найти здесь:
Как показать текущее время в JavaScript в формате ЧЧ: ММ: СС?
Я добавил код в свою папку / app / assets / javascripts под названием «time.js».
Как я могу вызвать метод в этом скрипте для запуска / рендеринга на моей домашней странице (называемый 'Home.html.erb' в разделе Views моего веб-приложения).
Вот код скрипта часов 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>
У меня также есть следующее в 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 в том, что я пытаюсь запустить код в time.js внутри моего файла home.html.erb, но не знаю, как это сделать.
С уважением,
Llausa