2009-03-01 102 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操作。