2016-03-15 176 views
3

我正在使用Ruby on Rails。我有JSON对象像这样在我的数据库:将值添加到Ruby JSON对象

{"data":[ 
    {"name":"A", "available":"1"}, 
    {"name":"B", "available":"0"} 
]} 

我希望通过添加其他记录更新此,它应该是这样的:

​​

我怎样才能做到这一点?

+0

这是另一个记录来自哪里? – shivam

+0

我根据用户在我网站上的输入创建的另一条记录。 –

+0

这个东西有什么特别的东西吗?我认为这只是一个基本的数组和散列操作,如果您已经使用了Ruby一段时间,您已经知道这一点。你提到“数据库”,我想你可能想对它做些什么 –

回答

5

你可以试试这个

json = { "data" => [ 
     {"name" => "A", "available" => "1"}, 
     {"name" => "B", "available" => "0"} 
     ]} 
json["data"].push({"name" => "C", "available" => "1"}) 
0

如果您正在使用ActiveRecord Serialize(或滑轨5属性API),该值将已经被转换成哈希值。

class Model 
serialize :some_field, JSON 
end 

record = Model.find(id) 

record.some_field ==> 
{"data":[ 
    {"name":"A", "available":"1"}, 
    {"name":"B", "available":"0"} 
]} 

record.some_field["data"] << {"name" => "C", "available" => "1"} 
record.save