2010-12-15 40 views
0

J'ai essayé de faire une calculatrice basée sur la console (un peu comme Try Ruby) en utilisant Rails 3 et jQuery. Pour ce faire, j'ai essayé d'utiliser AJAX pour que la console envoie JSON ou XML à chaque fois que vous tapez enter, attend, reçoit la réponse du serveur et la restitue. Malheureusement, je n'ai aucune idée de par où commencer. Mon Google recherche a conduit à seulement des didacticiels qui traitent du côté client des choses, et d'autres tutoriels adresse que Rails 2.AJAX avec Rails 3 et jQuery?

Mon code côté client est quelque chose comme ceci:

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

Je ne sais pas sur quoi faire pour le code Rails.

Alors, comment puis-je implémenter AJAX avec Rails et jQuery?

Répondre

3

Vous voulez sans doute faire quelque chose comme ça

dans votre code client:

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

dans votre contrôleur de rails (que vous avez mis en correspondance http://yourserver/path/to/controller/action)

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

Merci. Cela a fonctionné si facilement! BTW: rapport est une fonction de rappel. Vous lui donnez comme paramètre ce que vous voulez montrer sur la console. –

0

Peut-être commencer here

En fin de compte votre appel ajax frappera une action de contrôleur comme toute autre demande Web. Votre contrôleur peut répondre avec JSON ou XML ou même déterminer le format de réponse par l'extension sur l'URL.

Bonne chance.