2011-09-07 86 views
2

我創建簡單的支架,它與您正在重定向。軌3.1

respond_to do |format| 
    format.html { redirect_to :action => "index", :status => 302 } 
    format.json { head :ok } 
end 

destroy方法,當我點擊「銷燬」,我看到的話在網頁「正在重新導向。」其中單詞「重定向」鏈接到posts_path。我應該怎麼做才能修復這個bug?

+0

你爲什麼給它302狀態?這可能有助於解答。我不清楚,但是......正是你要求的。 – Slick23

+1

好吧,如果我是提問者,我會問爲什麼rails會發送帶有「你正在重定向」消息的html,而不是實際發送HTTP重定向頭 - 或者瀏覽器顯示「你正在重定向'而不僅僅是,你知道,重定向。你是否暗示302狀態會使這種情況發生,無論redirect_to的rails默認狀態是什麼都不會。這是爲什麼? – jrochkind

+0

我有同樣的問題。最後,我發現我意外地覆蓋了rails框架中的一個方法。我很快重新命名該方法,問題就解決了。這裏是一個更詳細的描述:http://robert-reiz.com/2012/07/20/rails-3-x-you-are-being-redirected-406-not-acceptable/ –

回答

0

我將拉出:status => 302' option and double check that my Destroy link has:method =>'刪除'set. If the:方法沒有在鏈接上設置,那麼您將被重定向到您的索引操作。

+0

這個答案沒有幫助。我有同樣的問題。我玩過狀態碼302和301,但那對我來說都是一樣的結果。 –

0

如果您正在使用nginx with rails。將下面的配置添加到nginx。

proxy_set_header Host $host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_redirect off; 
1

我知道這個問題很舊,但是我發現Robert Reiz對這個問題的評論幫助我解決了同樣的問題。我使用寶石decent_exposure,我有一個叫Location的模型。在控制器中,expose(:location)創建了一個打破重定向的方法。 Location現在是Place

+0

我也有一個叫做位置的模型,它有相同的問題。謝謝。 – Macario