J'essaie d'implémenter la modification sur place dans une application Rails 3 qui prend la valeur modifiée et révise un calcul basé sur cette valeur. Par exemple:Rails 3 Édition sur place
Avant modifier des « crédits pour faire un don » terrain:
Vous avez 10 crédits restants. Crédits pour faire un don: 0.Après modification du champ "credits to donate":
Il vous reste 5 crédits. Crédits pour faire un don: 5.
J'ai examiné diverses options, et il semble que l'éditeur jquery-in-place fasse ce que je recherche. Pour référence:
Les travaux de démonstration. Mais je pense que ce que je dois faire est d'utiliser la fonction de rappel pour appeler un script ruby, donc je peux faire un peu plus de traitement. Je ne suis pas entièrement sûr si c'est ce que je dois faire si, alors je cherche des conseils.
Voici le javascript jQuery (de /public/javascripts/application.js dans l'application de l'échantillon) que je pense est pertinent:
// Using a callback function to update 2 divs
$("#editme4").editInPlace({
callback: function(original_element, html, original){
$("#updateDiv1").html("The original html was: " + original);
$("#updateDiv2").html("The updated text is: " + html);
return(html);
}
});
Il ressemble à ce que je dois faire est de prendre original
et html
et jouer avec eux un peu , puis les renvoyer aux divs appropriés. La question est, comment puis-je faire cela? Je pense à deux possibilités:
A. Il existe une fonction dans l'éditeur jquery-in-place pour appeler un URL. Puis-je l'utiliser pour appeler un script ruby et obtenir un résultat? Comment ferais-je cela dans les rails? Voici le code pour appeler une URL (encore une fois de /public/javascripts/application.js
); mais il appelle un script PHP.
$("#editme1").editInPlace({
// callback: function(unused, enteredText) { return enteredText; },
url: 'server.php',
show_buttons: true
});
B. Modifier le texte mis à jour directement en javascript, et le transmettre aux divs appropriés. Je préférerais utiliser un script ruby, mais peut-être que ce serait plus facile.
Sauf que vous ne devriez probablement pas retourner HTML .. JSON est généralement plus approprié. – mpen