任何人都可以解释这个异常在ruby中意味着什么。
TypeError异常:无法转储匿名类Class
代码示例
Class X_controller
before filer: validate, :only => [:meth1]
def meth1
y.new.send_later(:issue1) #throws me exception
end
def meth2
y.new.send_later(:issue1) #works
end
private
def valiadate
y.new.send_later(:issue1) #throws me exception
end
end
class y
include x::z
def issue1
end
end
module x::z
def send_later(meth,*args)
end
end
答案 0 :(得分:4)
当您尝试直接在类上调用to_yaml
或to_json
或任何其他表示而不是在实例上调用它时,会发生这种情况。例如
User.to_json
将转储,但
user = User.first
user.to_json
工作得很好。
修改强>
这个问题似乎也是旧Rails版本中的一个错误,这个版本已经修复了(至少)Rails 3。