2011-05-11 22 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