我在访问我的 JSON 数据的属性时遇到问题。它没有访问 JSON 数据,而是认为它是一个函数。
@response = HTTParty.get('http://localhost:4000/test')
@json = JSON.parse(@response.body)
@json.each do |pet|
MyModel.create(pet) ! WORKS
puts "my object #{pet}" ! WORKS
puts "my object attribute #{pet.myattribute}" ! DOES NOT WORK
end
没有 MethodError myattribute
。
感谢您的帮助!
最佳答案
您可能习惯了 JavaScript,其中 object.some_key
和 object["some_key"]
做同样的事情。在 Ruby 中,散列只是散列,因此您必须通过 object["some_key"]
访问值。 Ruby 中的 Struct
类似于 JavaScript 对象,因为您可以通过两种方式访问值,但必须预先定义键。
关于ruby-on-rails - Rails : JSON attribute is handled as a method. 无方法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23329646/