2011-03-07 15 views
5

"Yeni" yöntem için ajax isteğini kabul eden bir Kurtarıcım adlı bir denetleyicim var.Yeni Raylara 3, ajax isteği ile json yanıtı

  1. Json ile yanıt vereceğinden, /course_requests/new.json kullanmalı mıyım?

  2. Böyle aptalca bir json cevabı için şablon yapmak istemiyorum, bunu nasıl yaparım?

  3. response_to ne yapar? (Ben o blok tarzı gördük ve Bunu anlıyorum ama ne olmayan blok stili hakkında)

cevap

10
  1. Evet, JS çizgisinde bir şey yapıyor olurdu:

    $.getJSON("/course_requests/new.json",...); 
    
  2. Yapmanıza gerek yok, sadece JSON ile bir yanıt bloğuna sahip olmanız gerek.

    respond_to do |format| 
        format.json { render :json => "test" } 
    end 
    
  3. Blockless sözdizimi, bunu demek düşünüyorum: http://davidwparker.com/2010/03/09/api-in-rails-respond-to-and-respond-with/. Temel olarak, denetleyicinizin hangi mime türlerine yanıt verdiğini belirlersiniz ve daha sonra, cools responses_with yöntemini kullanabilirsiniz.

+2

RoR3'te 'response_to' bloğuna ihtiyacınız yoktur. 'Response_to: html,: json'u Controller’a yerleştirmek ve' response_with ([sonuçlarınız]) 'ı çağırmak yeterlidir. http://api.rubyonrails.org/classes/ActionController/MimeResponds/ClassMethods.html#method-i-respond_to – DrColossos