Ruby on Rails: variabili dell'ambito dell'istanza con viste parziali
-
03-07-2019 - |
Domanda
Non capisco come usare correttamente la variabile di istanza con parziale punti di vista, spero che qualcuno qui possa illuminarmi. Ad esempio:
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
viene richiamato quando l'utente fa clic su un elemento nell'elenco.
La variabile @current_selected
non è disponibile per la vista parziale
invocato quando l'indice viene reindirizzato a. Come posso rimediare a questo?
Grazie
Soluzione
Quando esegui un reindirizzamento, il browser invia una richiesta completamente nuova, quindi tutti i dati della richiesta precedente sono inaccessibili. Probabilmente non vuoi fare un reindirizzamento qui; nessuna portata ti aiuterà quando guarderai a percorsi separati attraverso il tuo controller.
Pensa un po 'al tuo design: cosa stai cercando di fare? Se la selezione è qualcosa di appiccicoso, forse dovrebbe andare nella sessione. Se la modifica è solo parziale, forse dovresti usare una chiamata Ajax. Forse la soluzione è semplice come renderizzare il modello index
invece di reindirizzare all'azione index
.