Ruby on rails 4 在包含条件子句后将_重定向到禁止抛出?

Ruby on rails 4 在包含条件子句后将_重定向到禁止抛出?,ruby-on-rails-4,response.redirect,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 但这是可行的:

我见过的最奇怪的事情

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

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语句如何改变任何事情?我查看了请求数据,所有数据似乎都匹配。我花了好几个小时在这里和其他地方寻找。任何人在这场令人沮丧的遭遇中都会遇到我们亲爱的罗尔。

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

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


我写了一篇关于这方面的短文,以提供更多的见解。希望有帮助。

你的型号是什么?这似乎是你的问题,因为只要你不引用它,你的重定向就可以正常工作。我的模型用于注册,布尔值只是一个真或假标志。但它甚至转到重定向的事实会告诉我,它同意这是真的,并且应该呈现重定向。某处发生了奇迹。重定向结果如何受允许通过的模型检查的影响?这就像是在向事务中添加一个工件?虽然我不能肯定(除非你有一个可以公开访问的页面,我可以查看发生这种情况的地方),但我猜尝试访问模型是触发403,而不是重定向命令。然而,我对RubyonRails不太熟悉,所以我可能完全错了。所以每次我点击按钮,我的应用程序都会触发两次。。。重定向被触发,导致被禁止的。。。这有意义吗?女士们先生们,我被“涡轮链接”抓住了。我的错。我道歉。现在卸下涡轮连杆。ROR4。。。为什么涡轮链接。。。为什么???您只能对当前按钮禁用turbolink。通过添加到链接数据:{'no-turbolink'=>true}