문제

나는 부분적인 뷰로 인스턴스 변수를 올바르게 사용하는 방법을 이해하지 못합니다. 여기 누군가가 나를 밝힐 수 있기를 바랍니다. 예를 들어:

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 동작.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top