2011-05-27 96 views
0

我一直在做閃光[] =在rails中的作品,並瞭解當你redirect_to,使用閃光燈[...]的方式噸閱讀= ..如果你在賦值後渲染動作,那麼flash.now [...] ...;然而,我的應用程序的閃存無限期地持續下去,在會話期間從未真正離開。紅寶石軌道2.3.5閃爍掛在

這個問題是假設的。如果我有一個控制器,

class MyController < ApplicationController 
    def index 
    if my_cond 
     flash.now[:notice] = "Your condition is true" 
    else 
     flash[:notice] = "Your condition isn't true" 
     redirect_to some_other_rendering_action 
    end 
    end 
end 

如果我重定向這個時候,那麼下一次我重定向,讓我們通過點擊連接到其他操作重定向到另一個呈現一個鏈接說,但留下閃光修改,然後將其呈現閃光燈。問題在於無限期發生,甚至在一次重定向後都不會結束。

您會如何解決此問題?該應用程序可能是35k線,並已被沖洗以跟隨閃光燈和flash.now解決方案建議無處不在,所以我們在哪裏看?

軌2.3.5高容量的網站,阿帕奇/雜種

添加信息:

閃光燈在會話持續爲好。

flash: !map:ActionController::Flash::FlashHash 
    :notice: You must be signed in to view this page. 

回答

1

我建議找flash.keep電話,如果你有沒有運氣,並希望擺脫的行爲,添加調用flash.discardApplicationController

class ApplicationController < ActionController::Base 
    after_filter :discard_flash 
    private 
    def discard_flash 
    flash.discard 
    end 
end 
+0

我找了存話費和統治的after_filter他們都沒有被擊中。然後我根據你的建議添加了一個後置過濾器,並且不會再去。我實際上是在拋棄之後直接拋出,在這裏:def discard_flash flash.discard raise flash.to_yaml end 接下來,我嘗試重新加載或瀏覽一下,並在下一頁獲取它.---!map: ActionController :: Flash :: FlashHash :通知:您必須登錄才能查看此頁面。 – 2011-05-27 05:54:27

+0

看起來不像你在那裏設置的閃光燈 - 找到閃光燈的來源,你會發現你的罪魁禍首。確保檢查插件和寶石。 – 2011-05-27 06:27:24

+0

謝謝。這是我害怕的答案。 – 2011-05-27 06:31:05