- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在升级我的 Rails 应用程序以使用 Ruby 1.9,但我一直遇到这样的错误:
Anonymous modules have no name to be referenced by
/home/foo/.gem/ruby/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:585:in `to_constant_name'
/home/foo/.gem/ruby/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:391:in `qualified_name_for'
/home/foo/.gem/ruby/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:104:in `rescue in const_missing'
/home/foo/.gem/ruby/1.9.1/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:94:in `const_missing'
/home/foo/app/config/environment.rb:66:in `block in <top (required)>'
etc.
谷歌为此找到了各种匹配项,但每个匹配项都与针对某个特定 gem 或应用程序的特定修复有关。他们都没有解释消息的真正含义。
environment.rb的第66行是super_exception_notifier的配置(旧版本,2.0.8):
ExceptionNotifier.configure_exception_notifier do |config|
config[:sender_address] = %("Foo" <foo@foo.com>)
config[:exception_recipients] = %w(foo@foo.com)
config[:skip_local_notification] = false
end
据我所知,ExceptionNotifier 是未定义的,ActiveSupport 正试图神奇地加载它,但失败了,然后再次失败,试图打印一条不错的错误消息。
最佳答案
匿名模块是这样声明的模块:
Fred = Module.new do
def meth1
"hello"
end
def meth2
"bye"
end
end
而不是使用常规的 Module mod_name <block>
句法。由于它们没有模块名称,因此您无法检索模块名称。 to_constant_name
正在尝试调用 desc.name.blank?
其中 desc
是一个匿名模块(没有 name
)。
此错误来自 ActiveSupport 模块,这可能表明 active_support gem 中存在错误,或者可能表明某些其他代码片段未正确使用 ActiveSupport。错误消息本身并不能提供足够的信息来识别罪魁祸首(至少对我来说,具有更多 Rails 经验的人可能能够提供更多见解)。
在不知道有问题的代码的情况下,也很难确切地说出为什么这个错误会在 1.9 中弹出,或者需要做些什么来修复它。考虑到有很多尚未针对 1.9 更新的未维护和维护不足的 gem,我怀疑 ActiveSupport 不是问题的根源。升级所有具有 1.9 兼容版本的 gem,然后尝试一次禁用一个其他 gem(如果可以的话),看看是否仍然出现错误。
如果您提供了您正在使用的其他 gem 的列表,那么之前可能遇到过该错误的其他人可能能够提供一些详细信息。
关于ruby-on-rails - "Anonymous modules have no name to be referenced by"到底是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4001778/
这对你们来说可能很简单,但由于我是java新手,所以我想知道实际上什么是 接下来的部分会发生什么? if (args.length > 0) { file = args[0]; } publi
在我的 View Controller 中,我将 UITapGestureRecognizer 添加到 self.view。我在 self.view 之上添加了一个小 View 。当我点击小 View
我今天尝试从 Obj-C 开始并转到 Swift,我正在阅读文档。我试图在 Swift 中创建一个简单的 IBOutlet,但它不断给我这些错误。 View Controller 没有初始化器 req
我正在尝试使用 VIM 完成(字典和当前缓冲区),但我遇到了问题?和 !在方法名称的末尾。我能以某种方式向 vim 解释方法名称(基本上是单词)最后只能有它,而且只有一个,即 method_name
我是一名优秀的程序员,十分优秀!