2013-01-02 9 views
7

Chcę, aby moja akcja kontrolera obsługiwała żądania jsonp z jquery $.getJSON. W mojej działania kontrolera Mam następujący respond_to bloku:Obsługa jsonp in rails 3 controller

respond_to do |format| 
    format.html { render json: {:items_by_tag => @tagged_item_list}} 
    if params[:callback] 
     format.js { render :json => {:items_by_tag => @tagged_item_list}.to_json, :callback => params[:callback] } 
    else 
     format.json { render json: {:items_by_tag => @tagged_item_list}} 
    end 
end 

Ale jestem coraz SyntaxError:invalid label gdy zgłoszę URL z $.getJSON. Mój adres URL ma postać http://myservice.com?param1=a&param2=b&callback=?.
Na czym polega problem z kodem, który powoduje niepowodzenie jsonp?

Odpowiedz

19
respond_to do |format| 
    format.html { render json: {:items_by_tag => @tagged_item_list}} 
    if params[:callback] 
    format.js { render :json => {:items_by_tag => @tagged_item_list.to_json}, :callback => params[:callback] } 
    else 
    format.json { render json: {:items_by_tag => @tagged_item_list}} 
    end 
end