J'ai cette application plutôt simple Ruby on Rails: deux modèles Lists
et Items
. Lists
ont beaucoup Items
et Items
appartiennent à Lists
. D'ACCORD.jQuery à travers les modèles dans Ruby on Rails
La méthode show
de ListsController
imprime une page avec la liste des éléments appartenant à la liste donnée (dans un lists/_listOfItems.html.erb
partiel). À la fin de la vue show.html.erb
, un formulaire permet aux utilisateurs d'ajouter un élément à la liste. En standard (sans jQuery) RoR, cela fonctionne parfaitement.
Maintenant, ce que je veux faire est de laisser l'utilisateur ajouter un élément à la liste sans recharger la page. J'ai réussi avec jQuery à ajouter l'élément à la base de données mais maintenant mon problème est d'actualiser la liste html sans recharger la page. Je suis parvenu à un create.js.erb
exécuté dans ItemsController
et je peux faire des choses apparaissent sur la page avec elle, mais le problème est que cette create.js.erb
vit à ItemsController
et non pas dans ListsController
de sorte que si j'essaie de faire create.js.erb
rendre la _listOfItems.html.erb
partielle, il sera Échec car create.js.erb
vit dans ItemsController
et ne peut donc pas accéder aux variables définies dans la méthode show
de ListsController
.
Je suppose que cela fonctionnerait comme un charme si j'utilisais la méthode index
de ItemsController
pour afficher la liste des éléments puisque tout serait là, mais cela pourrait engendrer d'autres complications.
J'espère que c'était clair. Pouvez-vous m'aider? Merci beaucoup!
Salut, Merci pour votre réponse. Je suppose que j'aurais dû mentionner que j'utilise le plugin de formulaire jQuery qui, je crois, s'occupe de tous les appels ajax. Je vais essayer de comprendre comment le faire. –