2013-05-01 51 views
0

我有一个HTML页面,在那个页面里有一些用户选择的选项,这会影响内容显示的方式。Rails:实例变量在重载页面时不会保留

我通过在控制器中使用实例变量保存这些选项。例如:

class ShopController < ApplicationController 

def index 
    @option1 = option1 # instance variable option1, contains some information on the form 
end 

end 

在此页面中,我有一个用于用户输入信息的表单。当用户按下提交按钮时,ShopControler将处理这些信息。但在那个时候,当我检查@ option1变量 - > NIL。这意味着:这是ShopController的另一个实例。

请给我一个解决方案,我遇到的问题,我可以保存信息,并可以重用,虽然用户有峰会形式。

谢谢:)

回答

2

你有没有想过把它存储在会话变量?

session[:option1] = option1 

然后,当你用它做只是做一个

session.delete(:option1) 

这将允许您通过多个请求使用它。

0

通常,当用户提交表单时,它将被路由到创建或更新操作。除非你明确地将它路由到索引操作,否则你的问题很可能是你没有在提交表单的操作中设置@ option1。

如果您发现您在每个操作中都设置它,请考虑使用before_filter进行设置。