0

我现在很绝望,搜索了很多,但没有任何帮助。我有 rails 3.1.0 我的小应用程序只是包含数据和排序过滤内容的表格。我在 Heroku 上工作得非常完美,但后来我添加了一些会话变量来通过页面存储过滤参数。它在本地主机上运行完美,但 Heroku 显示“我们很抱歉,但出了点问题”。我试过用 --stack cedar 来做——没有帮助 Heroku 日志没有说任何有用的东西。

我再说一遍 - 如果我将删除所有会话它完美无缺。:( 这是我使用会话的代码,我在这里看不到任何破坏 Heroku 的东西,只是常规会话:

def index
@all_ratings=Movie.vasta
@selected_ratings=[]
#if !session[:ratings].nil?
##  redirect_to 'movies_path'
#end
if !params[:sort].nil?
  session[:sr]=params[:sort]
end
if !params[:ratings].nil?
  params[:ratings].each_key do |key|
    @selected_ratings << key
  end
elsif
  @selected_ratings = session[:selre]
end
session[:selre]=@selected_ratings
@movies = Movie.order(session[:sr]).where("rating IN (?)", session[:selre])

@varka=session[:sr]

结尾

非常感谢您提前。

日志

2013-08-01T18:34:24.021832+00:00 heroku[路由器]: at=info method=GET path=/movies host=myassnevercries.herokuapp.com fwd="88.85.159.248" dyno=web.1 connect=2ms服务=673ms 状态=500 字节=728

4

1 回答 1

0

如果您定义,这不会进入无限重定向session[:ratings]吗?

顺便说一句,我觉得if !variable.nil?真的很混乱。你可以使用if variableor if variable.present?which reads better。

无论如何,如果session[:ratings]定义了一次,它会再次重定向到 index 动作,它会到达if !session[:ratings].nil?并且它仍然不是 nil 并再次重定向。我不明白这如何在本地工作。您没有从浏览器收到某种无限重定向错误吗?会话变量不会在重定向时重置或清除。

于 2013-08-01T21:24:53.383 回答