【问题标题】:NameError (uninitialized constant Sprockets::Secretary): in TeamBox (crewmate)NameError (未初始化的常量 Sprockets::Secretary): 在 TeamBox (crewmate)
【发布时间】:2013-09-30 07:27:18
【问题描述】:

我正在尝试在使用 Rails 3.0.20 的分支 master 上运行 TeamBox fork crewmate。 在我的机器上运行开发,当我在浏览器中打开任何页面时,日志会显示以下条目:

  NameError (uninitialized constant Sprockets::Secretary):
  rake (0.9.2) lib/rake/ext/module.rb:36:in `const_missing'
  sprockets-rails (0.0.1) lib/sprocket.rb:38:in `secretary'
  app/controllers/sprockets_controller.rb:14:in `send'
  app/controllers/sprockets_controller.rb:14:in `show'
  app/controllers/sprockets_controller.rb:6:in `index'
...

当我在 Gemfile 中指定 Ruby 1.8.7 或 1.9.3 时,都会发生这种情况。 在浏览器上,结果是 javascript 控制台记录以下错误:

Failed to load resource: the server responded with a status of 500 (Internal Server Error) 
Localhost:3000/sprockets.js

我不知道是否有人可以为我指出专门针对 Crewbox 或更一般的 Rails 的解决方案。 这个“秘书”缺什么?

我尝试更新到sprocket-rails 的更新版本,但是这样做的问题是sprockets_include_tag 抛出异常(看起来它不再存在)。

有关于如何在更新的sprocket-rails 版本中将sprockets_include_tag 替换为其他内容的建议可能会奏效。

【问题讨论】:

    标签: ruby-on-rails ruby sprockets


    【解决方案1】:

    我使用 sprockets 1.0.2 解决了这个问题

    https://github.com/crewmate/crewmate/commit/540c60ea7d755396ead475aff3a9c82e176cdbff

    crewmate 项目的想法是更新到 ruby​​ 和 rails 的最新版本。这不是一件容易的工作,但我们希望尽可能做到这一点。欢迎所有帮助:D

    【讨论】:

    • 对于希望解决问题并让 Crewmate 使用 1.9.3 的每个人,不要只关注 sprockets 1.0.2,而是答案中链接的整个 Gemfile(加上 bundle update)使应用按预期工作。
    猜你喜欢
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-19
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多