Ruby on Rails - 具有部分视图的实例变量的范围
-
03-07-2019 - |
题
我不明白如何使用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
不可用于局部视图
索引重定向到时调用。我该如何解决这个问题?
谢谢
解决方案
当您进行重定向时,浏览器会发送一个全新的请求,因此上一个请求中的所有数据都无法访问。你可能不希望在这里进行重定向;当您通过控制器查看单独的运行时,任何范围都不会对您有所帮助。
考虑一下你的设计 - 你想做什么?如果选择是粘性的,也许应该进入会话。如果更改只是部分更改,则可能应该使用Ajax调用。也许解决方案就像呈现 index
模板一样简单,而不是重定向到 index
操作。
不隶属于 StackOverflow