我正在尝试创建一个ruby数组,以便我可以保存一些数据并将其创建为JSON对象以存储到DATABASE中。
browser_meta = Array.new
browser_meta.name = browser.name;
browser_meta.version = browser.full_version;
browser_meta.platform = browser.platform;
browser_meta.name = browser.name;
browser_meta.name = browser.name;
错误:
undefined method `name=' for []:Array
答案 0 :(得分:4)
对于键值数据结构,数组是一个糟糕的选择。 请改用哈希:
browser_meta = { name: browser.name, version: browser.full_version .....}
然后你可以用
将它转换为jsonrequire 'json'
browser_meta_json = browser_meta.to_json
答案 1 :(得分:1)
或者,如果您希望能够使用点表示法访问值:
http://www.ruby-doc.org/stdlib-2.0/libdoc/ostruct/rdoc/OpenStruct.html
require 'ostruct'
person = OpenStruct.new
person.name = "John Smith"
person.age = 70
person.pension = 300
puts person.name # -> "John Smith"
puts person.age # -> 70
puts person.address # -> nil