2011-03-07 72 views
5

我有一個名爲CourseRequests的控制器,它將接受「新」方法的ajax請求。新的導軌3,ajax請求與json響應

  1. 既然它會用json響應,我應該使用/course_requests/new.json嗎?

  2. 我不想爲這樣一個愚蠢的JSON響應做一個模板,我該怎麼做?

  3. response_to做什麼? (我已經看到了塊風格,我明白,但對於非阻塞式的)

回答

10
  1. 是的,你的JS將沿着線做的事情:

    $.getJSON("/course_requests/new.json",...); 
    
  2. 你不需要,你只需要在那裏處理一個帶有JSON的respond_to塊。

    respond_to do |format| 
        format.json { render :json => "test" } 
    end 
    
  3. 無阻塞語法,我想你的意思是這樣:http://davidwparker.com/2010/03/09/api-in-rails-respond-to-and-respond-with/。基本上,您可以指定控制器響應的MIME類型,然後使用較冷的responds_with方法。

+2

在RoR3中不需要'respond_to'塊。在Controller中放置'respond_to:html,:json',並在方法中調用'respond_with([your results])'就足夠了。 http://api.rubyonrails.org/classes/ActionController/MimeResponds/ClassMethods.html#method-i-respond_to – DrColossos 2011-03-07 19:08:32