无法在ruby中转储匿名类Class
任何人都可以解释这个exception在ruby中的含义。
TypeErrorexception:无法转储匿名类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
当您尝试直接在类上调用to_yaml
或to_json
或任何其他表示而不是在实例上调用它时,会发生这种情况。 例如
User.to_json
会转储,但是
user = User.first user.to_json
会工作得很好。
编辑:
这个问题似乎也是旧Rails版本中的一个错误,这个错误在(至少)Rails 3中得到了修复。