为什么在 Ruby 中使用 to_yaml 会出现 NoMethodError

PJC*_*der 1 ruby ruby-on-rails

我看到过关于“如何在Rails中打印出对象的内容以便于调试? ”的问题,答案表明我可以使用to_yaml来打印出Object的内容。但是,为什么我运行 @jerhinesmith 创建的相同代码却得到 NoMethodError?

class User
  attr_accessor :name, :age
end

user = User.new
user.name = "John Smith"
user.age = 30

puts user.inspect
#=> #<User:0x423270c @name="John Smith", @age=30>
puts user.to_yaml
#=> --- !ruby/object:User
#=> age: 30
#=> name: John Smith
Run Code Online (Sandbox Code Playgroud)
main.rb:11:in <main>': undefined methodto_yaml' for #

@name="John Smith", @age=30> (NoMethodError) 以非零状态退出

tad*_*man 5

在使用以下命令加载 YAML 库之前,不会定义该方法:

require 'yaml'
Run Code Online (Sandbox Code Playgroud)