2009-03-01 3 views
3

뷰와 함께 인스턴스 변수를 올바르게 사용하는 방법을 모르겠다. 여기 누군가가 나를 계몽 할 수 있기를 바랍니다. 예를 들어 사용자가 목록에서 항목을 클릭 할 때Ruby on Rails - 부분 뷰가있는 인스턴스 변수의 범위

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은 인덱스가 리디렉션 될 때 호출되는 부분보기 에 사용할 수 없습니다. 이 문제를 어떻게 해결할 수 있습니까?

때문에 이전의 모든 요청에서 데이터를 액세스 할 수 없습니다, 당신은 리디렉션을 수행 할 때 당신

답변

8

는, 브라우저가 완전히 새로운 요청을 보내 주셔서 감사합니다. 리디렉션을 여기에서하고 싶지 않을 것입니다. 컨트롤러를 통해 별도의 실행을 볼 때 스코프가 필요하지 않습니다.

디자인에 대해 조금 생각해보십시오. 무엇을하려고합니까? 선택 사항이 끈적 거리면 세션에 있어야합니다. 변경이 부분적인 경우에만 Ajax 호출을 사용해야합니다. 어쩌면 index 동작으로 리디렉션하지 않고 index 템플릿을 렌더링하는 것처럼 간단 할 수 있습니다.