railsのflashのよくあるお知らせ
Date:2016-03-29 23:23:43 +0900
Categories: ETC
Categories: ETC
railsのflashを使ってみて、今後同じような表現方法を使いそうだったのでメモ。
やりたいこと
controllerからflashメッセージがあったらタイプによって表現方法を変えたい。
コード例
controller
# 例えば def create @record = Record.new(record_params) respond_to do |format| if @record.save flash[:success] = '新しい支払いを追加しました' format.html { redirect_to records_path } else format.html { render :new } end end end haml - if flash - flash.each do |type, msg| %p{ class: "flash #{type}" } = "お知らせ: #{msg}" css p.flash{ display:none; position: fixed; top: 0; width: 100%; text-align: center; color: #fff; font-weight: bold; padding: 10px; &.success { background-color: rgba(77, 188, 219, 0.8); } &.notice { background-color: rgba(237, 221, 40, 0.8); } &.error { background-color: rgba(219, 30, 20, 0.8); } &.info { background-color: rgba(255, 255, 255, 0.8); } } js $ -> $('p.flash').fadeIn 800, -> setTimeout -> $('p.flash').fadeOut(1000) , 3000 すると こんな感じになります。 良さですね。Tweet