Je voudrais utiliser la méthode jQuery ajax $ .get pour accéder à une route reposante dans les rails. Quelque chose comme ça (gardez à l'esprit cela se fait dans un modèle de haml où je peux utiliser l'interpolation de chaîne):Comment utiliser les aides à l'acheminement des rails avec jQuery?
$(function(){
$(':radio').change(function(){
$.get("#{edit_steps_path(N)}");
}
});
Dans l'extrait ci-dessus #{steps_path(N)}
interpole à l'URL "\steps\N"
et N
est la valeur du bouton radio qui a été changé.
De toute évidence, cela ne fonctionne pas car l'interpolation de chaîne se produit sur le serveur avant que le bouton radio puisse déclencher l'événement de modification. Il est clair que mon approche de ce problème est complètement fausse.
J'ai trouvé d'autres façons de résoudre ce problème, mais aucune d'entre elles ne me permet d'utiliser les assistants de routage Rails ou l'interpolation de chaînes, et je suis plutôt déterminé à le faire.
Je suppose qu'il y a une bonne façon d'accomplir ce que je cherche, mais je ne sais pas ce que c'est.
L'assistant d'acheminement place une valeur par défaut dans le chemin si un paramètre n'est pas passé (par exemple: edit_step_path rendements/steps/1/edit, où edit_step_path (12) donne/steps/12/edit. – rswolff