【问题标题】:Javascript files are not included from manifest清单中不包含 Javascript 文件
【发布时间】:2026-02-12 18:40:01
【问题描述】:

我正在使用 Ruby On Rails,并在 Windows 机器上安装了 ActiveAdmin。我不认为 ActiveAdmin 与它有任何关系,但我只是说。

通过 HTML 包含的 Javascript 文件是 /assets/active_admin.js,清单文件本身如下所示:

//= require active_admin/base

//= require just_datetime_picker/nested_form_workaround

当我运行我的 Rails 应用程序并打开 http://localhost:3000/assets/active_admin.js 时,日志告诉我 active_admin.js 已编译,但文件看起来仍然像清单一样,只是在末尾添加了分号:

//= require active_admin/base

//= require just_datetime_picker/nested_form_workaround
;

为什么不包含 Javascript 代码?

当我尝试通过bundle exec rake assets:precompile RAILS_ENV=development 手动运行预编译管道时,它实际上会创建所有 CSS 文件,但 JS 文件仍然看起来像上面描述的那样。

由于我在 Windows 机器上操作,我没有安装 gem 'therubyracer',而是安装了 NodeJS。 bundle install 也可以正常工作,我也没有收到任何错误。

【问题讨论】:

    标签: ruby-on-rails manifest precompile


    【解决方案1】:

    您使用的是 Ruby v2.0 吗?尝试降级到 1.9。

    症状: JavaScript 清单文件未编译,未显示错误;但是,在“预处理”资产后,文件末尾会出现一个神秘的分号 ;

    解决方案: 降级到 Ruby v1.9.3!

    查看同一主题的另外两篇文章。

    2013 年的编程真是一团糟!

    【讨论】:

    • 问题是 Rails 5 只支持 Ruby >= 2.2