ruby-on-rails - Rails : JSON attribute is handled as a method. 无方法错误

标签 ruby-on-rails ruby json ruby-on-rails-3

我在访问我的 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_keyobject["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/

相关文章:

ruby-on-rails - 如何让这个 ruby​​ on rails 应用程序将文件复制到我的硬盘?

ruby-on-rails - Rails嵌套表单错误,子级必须存在

ruby-on-rails - 未找到 Rails4 Jbuilder 模板

ruby-on-rails - 不同模型的 Rails 新 Action

ruby-on-rails - 无资源路由的 link_to 路径是什么?

ruby - 有没有办法让 attr_reader 创建与实例变量名称不同的方法?

ruby-on-rails - 键的数组值?

javascript - 使用已解析的 JavaScript 数据加载 Javascript 变量

c# - newtonsoft json 序列化时间跨度格式

java - 将来自 RabbitMQ 的消息转换为字符串/json