Ruby on Rails: alcance de las variables de instancia con vistas parciales
-
03-07-2019 - |
Pregunta
No entiendo cómo usar la variable de instancia correctamente con parcial puntos de vista, espero que alguien aquí pueda iluminarme. Por ejemplo:
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
se invoca cuando el usuario hace clic en un elemento de la lista.
La variable @current_selected
no está disponible para la vista parcial
se invoca cuando el índice se redirige a. ¿Cómo puedo remediar esto?
Gracias
Solución
Cuando realiza una redirección, el navegador envía una solicitud completamente nueva, por lo que no se puede acceder a todos los datos de la solicitud anterior. Probablemente no quieras hacer una redirección aquí; ninguna cantidad de alcance lo ayudará cuando esté viendo ejecuciones separadas a través de su controlador.
Piensa un poco en tu diseño, ¿qué estás tratando de hacer? Si la selección es algo pegajosa, tal vez debería ir en la sesión. Si el cambio es solo parcial, tal vez debería usar una llamada Ajax. Tal vez la solución sea tan simple como representar la plantilla index
en lugar de redirigir a la acción index
.