Ruby on Rails - Variables de domaine d'instance avec vues partielles
-
03-07-2019 - |
Question
Je ne comprends pas comment utiliser correctement la variable d'instance avec des partiels J'espère que quelqu'un ici pourra m'éclairer. Par exemple:
class MainController < ApplicationController
def index
@item_list = Item.find_all_item
end
def detail_display
@current_selected = @item= Item.find(params[:id])
redirect_to :action => :index
end
end
detail_display
est appelé lorsque l'utilisateur clique sur un élément de la liste.
La variable @current_selected
n'est pas disponible pour la vue partielle
invoqué lorsque l'index est redirigé vers. Comment puis-je remédier à cela?
Merci
La solution
Lorsque vous effectuez une redirection, le navigateur envoie une toute nouvelle requête. Toutes les données de la requête précédente sont donc inaccessibles. Vous ne voulez probablement pas faire de redirection ici; aucune étendue ne vous aidera lorsque vous envisagez de parcourir séparément votre contrôleur.
Réfléchissez un peu à votre design. Qu'est-ce que vous essayez de faire? Si la sélection est quelque chose de collant, peut-être que cela devrait aller dans la session. Si le changement n'est que partiel, vous devriez peut-être utiliser un appel Ajax. La solution est peut-être aussi simple que de rendre le modèle index
au lieu de rediriger vers l'action index
.