在我的控制器中我有:
def index
# Array of Task objects
@tasks = Task.get_tasks(current_user, params)
respond_to do |format|
format.html
# Sends correct JSON but not including the 'author' object in it
# format.json { render :json => @tasks.to_json(:include => [:author]) }
# With this the JSON look correct but is interpreted as a string in the JavaScript code
format.json { render :json => @tasks.map { |e| e = e.to_json(:include => [:author]) } }
end
end
在渲染转换为JSON的数组时,您是否知道正确传递:include
选项的“干净”解决方案?
修改
我正在使用 MongoDB
编辑(2)
我从mongoid (2.0.1)
更新为mongoid (2.0.2)
并且有效。
抱歉,麻烦。
答案 0 :(得分:3)
to_json是多余的。我刚刚使用语法测试了它并使用了一些类似的代码:
format.json { render :json => @tasks, :include => [:author] }
这是rails 3.0.7。这也假设作者被设置为任务的belongs_to
。