sum*_*man 3 ruby ruby-on-rails ruby-on-rails-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
Run Code Online (Sandbox Code Playgroud)
当您尝试直接在类上调用to_yaml或或任何其他表示而不是在实例上调用它时,就会发生这种情况。to_json例如
User.to_json
Run Code Online (Sandbox Code Playgroud)
会倾倒,但是
user = User.first
user.to_json
Run Code Online (Sandbox Code Playgroud)
会工作得很好。
编辑:
这个问题似乎也是旧 Rails 版本中的一个错误,(至少)Rails 3 已修复。
| 归档时间: |
|
| 查看次数: |
6738 次 |
| 最近记录: |