我正在尝试使用 local-time
gem通过大本营。在自述文件之后,我添加了
//= require local-time
到我的 app/assets/config/manifest.js,现在看起来像这样://= link_tree ../images
//= link_directory ../stylesheets .css
//= require local-time
然后我按照规定使用 gem:<%= local_time(comment.created_at) %>
根据自述文件,它呈现<time data-format="%B %e, %Y %l:%M%P"
data-local="time"
datetime="2013-11-27T23:43:22Z">November 27, 2013 11:43pm</time>
自述文件还声称 JavaScript,即客户端,然后会将其转换为:<time data-format="%B %e, %Y %l:%M%P"
data-local="time"
datetime="2013-11-27T23:43:22Z"
title="November 27, 2013 6:43pm EDT"
data-localized="true">November 27, 2013 6:43pm</time>
但我可以看到这不会发生在我身上。由 local_time
生成的标记在 DOM 中保持不变。事实上,“本地”这个词在我的浏览器接收到的已编译的 application.js 中出现了 0 次。
gem 可能有问题,但现在我假设我做错了什么。我的 Ruby 代码似乎很好地找到并使用了 gem,但由于某种原因,JS 部分从未运行。
我究竟做错了什么?
编辑:我使用的是 Rails 版本 6.0.3.4、Ruby 版本 2.6.5p114 和本地时间版本 2.1.0。
最佳答案
Merovex 的回答是一个很好的临时解决方法,但根据 paulanunda's comment on the GitHub issue ,有一个更简单的方法:
$ yarn install local-time
而不是弄乱 manifest.js 文件,只需将以下内容放在您的 application.js 文件中:import LocalTime from 'local-time';
LocalTime.start();
关于javascript - Rails 'local-time' gem 没有运行 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65388487/