【问题标题】:Rails Asset - NoMethodError `dependency_digest`Rails 资产 - NoMethodError `dependency_digest`
【发布时间】:2014-04-05 08:36:35
【问题描述】:

我的本​​地机器上似乎突然出现了一个 Rails 项目。有趣的是,同样的代码库正在生产中。

一旦任何资产尝试加载,我就会收到以下错误:

undefined method `dependency_digest' for #<Sprockets::StaticAsset:0x007fefb93d0d28>

即使网站尝试加载 stylesheet_link_tag,也会出现该错误,但似乎所有资产都会发生此错误。

据我所知,我没有进行任何更改来引发此错误。事实上,本地服务器正在工作(使用 pow 和 webrick),然后就停止了。无改动后。

我尝试通过我的提交恢复历史记录,但绝对没有运气。

有什么想法吗?

【问题讨论】:

  • 这里也一样,也不知道。你修好了吗?
  • 我只能通过重新安装整个应用程序来修复它。我在 github 上拥有一切,这使得它更容易,但是为了我放在 .gitignore 上的文件,我备份了我的目录,删除了目录,再次从 github 克隆了所有内容,等等。丢失了我的本地数据库,但播种没问题。
  • 安装github.com/pitr/angular-rails-templates(最初有效)后发生在我身上。没有其他变化... Rails 4.1
  • 我在 Rails 4.1 中使用 jwhitley 的 requirejs-rails gem 和 SlexAxton 的 require-handlebars-plugin 来呈现 Handlebars 模板时看到此错误,并且模板正在使用未定义的 Handlebars 助手。出现在我的开发环境中,当 requirejs 尝试使用缺少帮助器的情况下获取模板时,它会从 Rails 收到 404 错误。

标签: ruby-on-rails ruby ruby-on-rails-4 assets nomethoderror


【解决方案1】:

这应该可以解决。

rake tmp:cache:clear

【讨论】:

  • 我从来没有最终需要这样做,但经过更多研究后,我相信这是正确的答案,我会接受它。
  • 我对 Rails 怀有深深的敬意,但它很快就退化了,因为我偶然发现了这些问题,以最愚蠢的方式解决了;认真的,清除资产缓存?哇。
【解决方案2】:

在 Heroku 上,我在切换了一些 buildpack 后遇到了这个问题。这篇 SO 帖子上接受的答案并没有解决我的问题 (rake tmp:cache:clear) 尽管它可能已经解决了其他人的问题,但我可以解决这个问题的唯一方法是使用:

heroku repo:purge_cache -a appname

有关 heroku repo 插件的文档,请参阅 https://github.com/heroku/heroku-repo

【讨论】:

    猜你喜欢
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    相关资源
    最近更新 更多