javascript - Rails 'local-time' gem 没有运行 JS

标签 javascript ruby-on-rails ruby localtime

我正在尝试使用 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/

相关文章:

javascript - 使用 html 将 socket.io 包含在脚本标记中

javascript - 我可以在 Node.js 的 javascript 中使用 catch(e if e instanceof SyntaxError) 吗?

ruby-on-rails - 如何自定义 Rails 4 render() 查找文件的方式?

html - 如何在 ruby​​ slim 的元素中建立链接

ruby - I18n : how can I guard against empty interpolation arguments?

ruby-on-rails - ActiveRecord 的实现中有哪些好的或坏的设计决策?

javascript - RxDb,使用默认索引时无法对字段 XXX 进行排序

c# - 如何使 javascript 文件在从母版页继承的任何页面上工作?

ruby-on-rails - 如何创建自引用关联表 rails migration

ruby - 了解 Ruby 和操作系统 I/O 缓冲