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

Était-ce utile?

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 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top