2013-03-02 52 views
1

任何人都可以解釋這個異常在ruby中的含義。無法在ruby中轉儲匿名類Class

TypeError異常:不能轉儲匿名類類

代碼示例

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

這似乎是一個已經固定在一個問題我的Rails版本。你使用什麼版本? – alestanis 2013-03-02 08:59:23

+0

@alestanis rails 2.3.8 – suman 2013-03-02 09:28:38

+0

您是否考慮遷移到Rails 3? – alestanis 2013-03-02 09:39:12

回答

4

發生這種情況,當你嘗試直接調用to_yamlto_json或任何其他代表性的一類,而不是在實例上調用它。例如

User.to_json 

將傾,但

user = User.first 
user.to_json 

會工作得很好。

編輯:

這個問題似乎也成爲老年人的Rails版本中的一個bug,這是固定的(至少)的Rails 3

相關問題