1

我正在从 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
4

2 回答 2

4

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

format.json { render :json => { :texts => @text.to_json(:only =>[:id,:language,:text_name,:text_type,:text_content])}}
于 2012-07-06T07:46:53.043 回答
3

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

ActiveRecord::Base.include_root_in_json = true
于 2012-07-06T07:52:00.350 回答