format.json不包含对象名称

时间:2012-07-06 07:40:52

标签: ruby-on-rails json

我正在从Rails应用程序生成json,并使用format.json和to_json方法过滤字段。它工作正常,除了json没有对象名称。这是Rails代码:

format.json { render :json =>  @text.to_json(:only =>[:id,:language,:text_name,:text_type,:text_content])}

json输出的一部分:

[{"id":5,"language":"TR","text_name":"2.01 AY\u015eE'DEN MEKTUP","text_type":null},{"id":6,"language":"TR","text_name":"2.02 Ruya","text_type":null},{"id":7.... etc

在我想的时候,我会收到一些表明对象名称的东西(例如:“文本”)。更多的是:

{"texts:"[{"id":5,"language":"TR","text_name":"2.01 AY\u015eE'DEN MEKTUP","text_type":null},{"id":6,"language":"TR","text_name":"2.02 Ruya","text_type":null},{"id":7.... etc

2 个答案:

答案 0 :(得分:4)

以下渲染线将产生您正在寻找的结果:

format.json { render :json => { :texts => @text.to_json(:only =>[:id,:language,:text_name,:text_type,:text_content])}}

答案 1 :(得分:3)

另一种选择是启用全局设置:

ActiveRecord::Base.include_root_in_json = true