【问题标题】:Rails javascript asset missing after precompile预编译后Rails javascript资产丢失
【发布时间】:2012-04-18 22:03:00
【问题描述】:

Rails Guides 说:

如果生产中缺少预编译文件,您将获得一个 Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError 指示丢失文件名称的异常。

我确实执行:

bundle exec rake assets:precompile

但是我没有收到任何错误,并且 manifest.yml 中缺少我的 javascript 文件。它也没有出现在 public/assets 中,所以问题只在生产中。

我在 application.js

//= require formalize/jquery-formalize

我错过了什么?

谢谢。

【问题讨论】:

  • 在开发环境中,可以访问jquery-formalize对吗?
  • 是的,在开发中我看到它正在工作

标签: javascript ruby-on-rails file assets pipeline


【解决方案1】:

其实需要做两件事:

config.assets.precompile += %w( *.js *.css )

here 所述,并且

config.serve_static_assets = true

用于本地生产测试时使用

rail s

当然使用

rake assets:precompile

但是在我的情况下 - 如果没有 config.assets.precompile 这将无效,因为清单不包含对我的 javascript 文件的任何引用。

HTH。

【讨论】:

  • 谢谢,你为我节省了几个小时。我尝试了以上所有方法,除了...“config.assets.precompile += %w(*.js *.css)”。成功了
  • 经过 3 个小时的类似问题,资产在开发中可用,但在生产中不可用...... production.rb 中的这两行救了我!现在开发和生产的行为方式相同!
【解决方案2】:

试试吧:

rake assets:precompile

我也遇到过类似的问题,而且效果很好。 您也可以删除/public/assets目录的内容,然后再次尝试运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 2021-11-12
    • 2014-06-27
    • 1970-01-01
    相关资源
    最近更新 更多