Ruby on Rails - 具有部分视图的实例变量的范围

时间:2009-03-01 20:55:36

标签: ruby-on-rails scope partial-views

我不明白如何使用partial来正确使用实例变量 观点,我希望有人在这里可以启发我。例如:

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不可用于局部视图 索引重定向到时调用。我该如何解决这个问题?

谢谢

1 个答案:

答案 0 :(得分:8)

当您进行重定向时,浏览器会发送一个全新的请求,因此上一个请求中的所有数据都无法访问。你可能不希望在这里进行重定向;当您通过控制器查看单独的运行时,任何范围都不会对您有所帮助。

考虑一下你的设计 - 你想做什么?如果选择是粘性的,也许应该进入会话。如果更改只是部分更改,则可能应该使用Ajax调用。也许解决方案就像渲染index模板一样简单,而不是重定向到index操作。