我有一个 rails 应用程序,我在其中根据日期范围显示一些结果。我正在使用一些全局变量来设置日期。我的代码如下所示:
#index.html.erb
<td>From: <%= $from %></td>
<td>To: <%= $to - 1.day%></td>
#controller
if (params[:first] || params[:next] || params[:previous])
if params[:first]
$from = Date.today - 7.day
$to = Date.today + 1.day
end
if params[:next]
$from = $from - 7.day
$to = $to - 7.day
end
if params[:previous]
if $to != Date.today + 1.day
$to = $to + 7.day
$from = $from + 7.day
end
end
end
这段代码似乎工作正常,但是当我从多台机器访问应用程序时,它会变得一团糟,因为全局变量对于我猜的每个实例都不是唯一的。
所以我尝试使用@variable(实例变量)而不是全局变量。但是,每当我从视图提交页面时,所有变量都会重置为 NULL,并且这些值不会持续存在于控制器中。有人可以给我一些建议来解决这里的问题。