3

我见过的最奇怪的事情。

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

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 的肠子发生这种令人沮丧的遭遇的任何接受者。

4

2 回答 2

5

如前所述。我从我的 ROR4 应用程序中删除了 Turbo Links,它不再被自己的脚绊倒。感谢 Derek 引导我以不同的方式看待代码。

于 2013-10-18T01:15:01.400 回答
1

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

我为此写了一篇简短的文章,以提供更多见解。希望能帮助到你。

于 2015-05-29T15:40:24.063 回答