2012-08-23 56 views
1

我實現了每Ryan Bates的真棒教程Facebook的開放圖譜:http://railscasts.com/episodes/363-facebook-open-graphFacebook的Open Graph的行動+ Rails的:返回JSON或HTML

然而,當Facebook被刮我的網站檢索og參數,它看起來像它要求提供JSON格式。這是一個問題,因爲我已經使用JSON來爲其他目的返回數據。我很好,通過format.html返回Facebook的數據。我檢查了請求對象,我看到這個ACCEPT標頭:

'HTTP_ACCEPT' */* 

然而,這是造成我的應用程序執行format.json。我玩了格式回覆的順序,它仍然要求format.json

respond_with(@project) do |format| 
    format.html { render 'show'} 
    format.json { render 'show'} 
    format.js { render 'show'} 
end 

任何想法?

回答

4

大量的試驗和錯誤之後,我想通了,與接受*/*頭,如果你使用的是respond_with,你需要確保respond_to在控制器的頂部,你想要的順序一致......對我來說,這是正確的:

class ProjectsController < ApplicationController 
    respond_to :html 
    respond_to :json 
    respond_to :js, 
    ... 

,這是不是

class ProjectsController < ApplicationController 
    respond_to :json 
    respond_to :html 
    respond_to :js, 
    ... 
+0

太好了!這節省了我一些頭痛。 – FernandoEscher