我見過的最奇怪的事情呢。redirect_to拋出包含條件子句的禁止AFTER?
在控制器中,我嘗試重定向到用戶發送到另一個網站:
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的腸子遇到這種令人沮喪的相遇者。
你的模型是什麼?這似乎是你的問題,因爲每當你沒有引用它,你的重定向工作正常。 – Derek
我的模型是用於註冊的,布爾值只是一個標記是true或false。但事實上,它甚至去重定向會告訴我,它認爲這是真的,應該呈現重定向。有什麼地方發生了魔法。重定向結果如何受到模型檢查允許通過的影響?它就像是在某種程度上爲交易添加了一件神器?或者這是我看過的非常愚蠢的東西。 – mindstems
雖然我不能肯定地說(除非你有一個可公開訪問的頁面,我可以查看發生了什麼),我猜測試圖訪問該模型會觸發403,而不是重定向命令。但是,我不熟悉Ruby on Rails,所以我可能完全錯誤。 – Derek