J'ai un widget pour les devises que j'utilise dans mon application. C'est à dire. l'utilisateur change la devise de EUR -> USD, ou environ 13 autres devises. J'ai quelques autres cas d'utilisation tels que les dates mais celui-ci est le plus facile à expliquer. La devise ne fait que mettre à jour une variable de session en appelant le contrôleur de devise, puis utilise certains JS pour recharger la page, mais je ne souhaite récupérer que certains éléments de la page (c'est-à-dire refléter le changement de devise et rien d'autre) ...partiels intelligents forme universelle dans les rails
$("#places_list").html("<%= escape_javascript(render :partial => 'places/list') %>");
ou si un autre contrôleur
$("#locations").html("<%= escape_javascript(render :partial => 'locations/places') %>");
mais ces éléments sont spécifiques au contrôleur de courant, ce qui rend une partie spécifique contrôleur comme une liste ... (le calcul de la monnaie elle-même est dans une application helper, donc aucune nouvelle logique ne se passe), et le contrôleur de devise est simple et partiellement chargé par différents contrôleurs. (Lieux, Lieux, etc.)
En plus de faire une action dans chaque contrôleur spécifique à cet effet, comment puis-je faire en sorte que je puisse rendre les éléments spécifiques au contrôleur actuel, afin que je puisse les remplacer intelligemment sur js, au lieu de recharger? C'est à dire. Je peux passer à la monnaie du régulateur de courant
<%= hidden_field_tag :info, controller.controller_name %>
Je ne sais pas si tout cela est logique, mais j'espère qu'il fait, au moins dans mon propre cerveau sinon dans quelqu'un d'autre.
un travail possible autour j'ai trouvé utilise le plugin render_component qui permettrait m e pour rendre une action de l'extérieur de mon contrôleur actuel ... je me demande juste s'il y a une meilleure façon, et si et pourquoi cela pourrait être une mauvaise idée? http: // github.com/vhochstein/render_component puisque le composant de rendu original a été extrait avant rails2, et nous vivons à l'ère de rails3. – holden