2011-05-11 124 views
1

我正在为我的应用程序创建一个简单的API。我创建了控制器并完成了所有的处理。然而,这个观点正在被返回。Rails 3:如何返回JSON文档?

如何将JSON文档返回给用户而不是视图?

此外,如果有错误,我是否也应该返回JSON文档或...?

谢谢!

回答

2

添加到您的控制器

respond_to :html, :json 

(删除HTML,如果你只想要JSON-API)。

在你的行动,你可以然后只需使用一个电话respond_with,如:

respond_with(@posts = Post.all) 

,它将使JSON对象,如果格式是JSON,如果被请求的HTML,它将使你的HTML视图。如果你的路由被创建为标准资源,只需在url中添加.json后缀将给你JSON结果,即。如果路线指定为:

resources :posts 
+0

我已经这样做了,但是当我做“卷曲...”时,我没有任何回应。我如何获得JSON? – donald 2011-05-11 13:39:34

+0

iceydee的答案应该可行 - 我在自己的应用程序中多次执行此操作。您可能需要检查的一些项目:确保您的html视图返回记录并验证您是否引用了正确的url /路由(包括.json扩展名) – SnapShot 2011-05-11 13:45:58

+0

在Web浏览器中尝试它,在末尾添加.json和你应该看到JSON。 – iceydee 2011-05-11 13:46:31