2011-03-07 13 views
5

Tengo un controlador llamado CourseRequests que aceptará una solicitud ajax para el "nuevo" método.New To Rails 3, solicitud ajax con respuesta json

  1. Dado que responderá con json, ¿debería usar /course_requests/new.json?

  2. No quiero hacer una plantilla para una respuesta tan tonta, ¿cómo podría hacerlo?

  3. ¿Qué responde a_hacer? (He visto que estilo de bloque y entiendo eso, pero ¿qué pasa con el estilo no-bloque)

Respuesta

10
  1. Sí, sus JS estarían haciendo algo en la línea de:

    $.getJSON("/course_requests/new.json",...); 
    
  2. No tiene que ser así, solo necesita tener un bloque de respuesta_con JSON manejado allí.

    respond_to do |format| 
        format.json { render :json => "test" } 
    end 
    
  3. sintaxis Blockless, creo que quiere decir esto: http://davidwparker.com/2010/03/09/api-in-rails-respond-to-and-respond-with/. Básicamente, usted especifica a qué tipo de mime responde su controlador y luego puede usar el enfriador responde con el método.

+2

No necesita un bloque 'responder_al' en RoR3. Colocar 'responder_a: html,: json' en el Controlador y llamar' responder_with ([sus resultados]) 'dentro del método es suficiente. http://api.rubyonrails.org/classes/ActionController/MimeResponds/ClassMethods.html#method-i-respond_to – DrColossos

Cuestiones relacionadas