flash詳解和技巧

Rails中關於報錯信息有專門的falsh接口,使用方式跟session很像。flash的翻譯是一閃而過,做用也是如此:flash中存儲的信息在下一個請求中用一下而後就自動清空。 html

實際操做: 瀏覽器

原來的代碼(注意以下是user局部變量而不是@user實例變量,這是由於該動做不須要對應的視圖,且重定向頁面時不須要顯示對應的 @user.errors因此使用局部變量便可) session

修改後的代碼: app

注意:redirect_to就是向瀏覽器發出下一個請求,那麼flash保存的信息就會在下一個請求:root或者:login中用到 佈局

 

要展現這些flash信息就要全局的佈局文件添加代碼,若是flash不爲空那就顯示相應的內容: 翻譯

 

填寫錯誤用戶名和密碼提交以後報錯以下: 3d

 

咱們添加一些樣式: htm

以下: blog

同時咱們刷新該頁面從新發送一個請求或者點擊另一個連接"關於",這是新的一個請求,因此flash裏的信息清空就不會在頁面顯示。 接口

 

Flash信息總是須要咱們刷新頁面來取消顯示很很差,因此下面來實現 flash 信息的自動消失。到 application.html.erb 中 </body> 的上面,添加以下紅框js代碼,讓flash信息在頁面停留4秒以後自動隱藏:

相關文章
相關標籤/搜索