使用Rails與設計,任何時候你登錄或註銷設計吐出一個Flash通知在頁面上看起來不需要從UI的角度來看,它通常很明顯,對吧?設計 - Flash Notices
有沒有辦法在設計中關閉登錄和註銷閃存通知?
謝謝
使用Rails與設計,任何時候你登錄或註銷設計吐出一個Flash通知在頁面上看起來不需要從UI的角度來看,它通常很明顯,對吧?設計 - Flash Notices
有沒有辦法在設計中關閉登錄和註銷閃存通知?
謝謝
即使指定空字符串,也可以轉到本地化文件並自定義任何Flash消息。查看i8n下的文檔,你會看到它是如何完成的。
Devise有一種自定義此類行爲的方法:覆蓋控制器。打開Devise源代碼,找到app/controllers/sessions_controller並將其複製到您的應用程序中。設計將開始使用自己的控制器而不是自己的控制器。從那裏您可以輕鬆修改Flash消息。
謝謝。我試圖,但無法弄清楚如何更新routes.rb文件。你是親戚嗎?這不起作用「devise_for:users,:controllers => {:invitations =>」invitations「,:sessions =>」sessions「}」它使得這些控制器中的方法不能再在設計中找到視圖。 – AnApprentice 2010-11-10 04:34:24
除了'devise_for:users',你實際上不需要在路由中做任何事情。從這裏你有2個選擇。創建一個'class SessionsController
我認爲這是Devise中的一個錯誤特徵。我已經分叉回購並修復了它。看看這是否解決了這個問題:https://github.com/sxross/devise – 2010-11-10 19:06:14
只需在您的sessions_controller.rb中添加此代碼即可。
class SessionsController < Devise::SessionsController
after_action :clear_sign_signout_flash, :only => [:create, :destroy]
protected
def clear_sign_signout_flash
if flash.key?(:notice)
flash.delete(:notice)
end
end
end
希望這有助於:-)
這個問題有正確的和更新的答案:Rails Disable devise flash messages。
謝謝史蒂夫,但我不想定製,我想阻止他們被設置。設置一個空字符串是爲了讓它起作用嗎? – AnApprentice 2010-11-10 00:02:04
奇怪的是,我刪除了它「signed_in:'成功簽名'',它仍然出現。 – AnApprentice 2010-11-10 00:04:51
並設置字符串爲空顯示一個空的閃存,這是非常糟糕的:) – AnApprentice 2010-11-10 00:05:17