3

谁能解释这个异常在红宝石中的含义。

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
4

1 回答 1

7

当您尝试直接在类上调用to_yamlto_json或任何其他表示而不是在实例上调用它时,就会发生这种情况。例如

User.to_json

会转储,但是

user = User.first
user.to_json

会工作得很好。

编辑:

这个问题似乎也是旧版 Rails 中的一个错误,(至少)在 Rails 3 中已修复。

于 2013-03-02T08:52:45.620 回答