redirect_to抛出禁止后包括条件子句?

时间:2013-10-17 16:19:13

标签: ruby-on-rails-4 response.redirect

我见过的最奇怪的事情。

在控制器中,我尝试重定向以将用户发送到另一个网站:

redirect_to "http://google.com" --> This works.

但是,如果我这样做:

if @model.true_boolean
  redirect_to "http://google.com" --> this now gives me a Completed 403 Forbidden
else
  redirect_to root_path
end

但这有效:

if true
  redirect_to "http://google.com" --> this is ok now
else
  redirect_to root_path
end

如果我正在进行重定向,显然布尔值是真的,但它正在改变“某事”......

如何添加if语句可以改变什么?我查看了请求数据,这一切似乎都匹配。我在这里和其他地方看了几个小时。任何与我们亲爱的ROR这些令人沮丧的遭遇相遇的人。

2 个答案:

答案 0 :(得分:5)

如上所述。我从我的ROR4应用程序中删除了Turbo Links,它停止了自己的脚绊倒。感谢Derek带领我以不同的方式查看代码。

答案 1 :(得分:1)

当您将turbolink请求重定向到另一个域时,Turbolinks会在场景后面添加403响应状态代码。

我写了一篇简短的post来提供更多见解。希望它有所帮助。