会话变量禁用Heroku部署(Rails)

时间:2013-08-01 18:43:35

标签: ruby-on-rails ruby session deployment heroku

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

我再说一遍 - 如果我将删除所有会话它是完美的。 :( 这是我使用会话的代码,我在这里看不到heroku-killing,只是常规会话:

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 [router]:at = info method = GET path = / movies host = myassnevercries.herokuapp.com fwd =“88.85.159.248”dyno = web.1 connect = 2ms service = 673ms status = 500 bytes = 728

1 个答案:

答案 0 :(得分:0)

如果您定义session[:ratings]

,这不会进入无限重定向 顺便说一句,我发现if !variable.nil?真的很混乱。您可以使用if variableif variable.present?更好地阅读。

无论如何,如果session[:ratings]被定义一次,它将再次重定向到索引操作,并且它将达到if !session[:ratings].nil?并且它仍然不是nil并再次重定向。我不知道这在当地如何运作。您是否从浏览器中收到某种无限重定向错误?会话变量不会在重定向时重置或清除。