Ruby on Rails- 부분보기가있는 인스턴스 변수의 범위
-
03-07-2019 - |
문제
나는 부분적인 뷰로 인스턴스 변수를 올바르게 사용하는 방법을 이해하지 못합니다. 여기 누군가가 나를 밝힐 수 있기를 바랍니다. 예를 들어:
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
사용자가 목록의 항목을 클릭하면 호출됩니다. 변수 @current_selected
인덱스가 리디렉션 될 때 호출되는 부분보기에는 사용할 수 없습니다. 이것을 어떻게 해결할 수 있습니까?
고맙습니다
해결책
리디렉션을 수행하면 브라우저는 완전히 새로운 요청을 보냅니다. 따라서 이전 요청의 모든 데이터는 액세스 할 수 없습니다. 당신은 아마 여기서 리디렉션을하고 싶지 않을 것입니다. 컨트롤러를 통해 별도의 실행을 볼 때 많은 범위가 도움이되지 않습니다.
당신의 디자인에 대해 조금 생각하십시오 - 당신은 무엇을하려고합니까? 선택이 끈적 끈적한 것이라면 아마도 세션에 가야 할 것입니다. 변경이 부분적으로 만 있으면 Ajax 호출을 사용해야합니다. 어쩌면 솔루션은 렌더링하는 것만 큼 간단 할 수 있습니다 index
템플릿으로 리디렉션하는 대신 템플릿 index
동작.
제휴하지 않습니다 StackOverflow