2010-12-15 15 views
0

Ich habe versucht, einen Konsolen-basierten Rechner (etwa wie Try Ruby) in Rails 3 und jQuery zu machen. Um dies zu tun, habe ich versucht, AJAX zu verwenden, so dass die Konsole JSON oder XML sendet, wann immer Sie eingeben eingeben, es wartet, empfängt die Antwort vom Server und rendert es.AJAX mit Rails 3 und jQuery?

Leider habe ich keine Ahnung, wo ich anfangen soll. Mein Google-Suche muss nur Tutorials führen, die mit der Client-Seite der Dinge befassen, und anderen Tutorials Adresse nur Rails 2.

Mein clientseitigen Code ist so etwas wie folgt aus:

function evaluate(line, report) { 
    // ajaxy stuff goes here 
    report("Whatever stuff I get back"); // this will display on console 
} 

Ich habe keine Ahnung Auf was für den Rails-Code zu tun ist.

Wie kann ich AJAX mit Rails und jQuery implementieren?

Antwort

3

Sie wollen wahrscheinlich so etwas wie diese

in der Client-Code tun:

function evaluate(line, report) { 
    // ajaxy stuff goes here 
    $.post("/path/to/controller/action.json", { line: line, report: report } ,function(response){ 
    //process JSON response here 
    }); 
} 

in Ihrem Schienen-Controller (die Sie http://yourserver/path/to/controller/action haben abgebildet werden)

def action_called 
    # do stuff with params[:line] and params[:report] 

    respond_to do |type| 
    type.html # render html view 
    type.json { render :json => { @response_data_as_a_hash }.to_json } 
    end 
end 
+0

Danke. Das hat so schmerzfrei funktioniert! BTW: Bericht ist eine Rückruffunktion. Sie geben es als Parameter, was auch immer Sie wollen, auf der Konsole angezeigt. –

0

Vielleicht here

Letztlich treffen wird Ihr Ajax-Aufruf eine Controller-Aktion wie jede andere Web-Anfrage starten. Ihr Controller kann mit JSON oder XML antworten oder sogar das Antwortformat durch die Erweiterung in der URL bestimmen.

Viel Glück.