to_json在Rails中返回字符串而不是json

时间:2013-04-21 17:24:32

标签: ruby-on-rails json string gem

以下代码应该返回一个json:

  @series = @series.map do |serie| {
    :name => serie.name,
    :id => serie.id
  }

  @series.to_json

返回如下:

"[{\"name\":\"Barra\",\"id\":3},{\"name\":\"Botafogo 1\",\"id\":1},{\"name\":\"Botafogo 2\",\"id\":2},{\"name\":\"Tijuca\",\"id\":4}]"

为什么它返回一个字符串而不是一个json?

'json'gem既安装在我的.rb文件顶部又需要

1 个答案:

答案 0 :(得分:15)

我刚刚解决了我的问题。出于某种原因as_json执行我想要的而不是to_json。我不太明白为什么。如果我发现,我会更新我的答案。 这很奇怪,因为to_json在将我的开发数据库从sqlite 3更改为postgresql之前已经工作了。但我不认为这可能是问题,因为它与Heroku的postgre数据库很好地配合。