Flash
Flash 的值只會被存到下一個 request 中,如果我再次轉到另一個網頁, flash 就會被清空,所以常常被拿來用在表示錯誤訊息或者提示訊息
flash 的資料結構是 hash,只要記住這點就很容易理解怎麼使用,請看下面範例
1 | #下面三種結果相同 |
當然 falsh 能使用的 key 不只有 notice,你也可以存其他的 key,比方說 flash[:qoo]
或者 flash[:signed_status]
等等
Flash 只能存活在經過一個 request 之後,但如果想要讓他存活久一點可以使用 keep
這個方法
1 | class QoosController < ApplicationController |
另外,在某些情況下不會 trigger 新的 request,但還是想使用 flash就可以使用 now
這個方法
1 |
|
在上面的例子中,儲存失敗的情況下借用 new.html.erb 的畫面,但這並不會有新的 request,這時候就要用 now
的方法才能即時存到 flash
參考資料
Rails Guide