#前提・実現したいこと
①画面Aで記事を投稿するをクリック
↓
②画面Bに遷移し、フラッシュメッセージ『投稿成功しました』表示
↓
③画面Cにページ移動
↓
④ブラウザの戻るボタンをクリック
↓
⑤画面Bに戻る。そこで再度フラッシュメッセージ『投稿成功しました』が表示されてしまう。
上記の場合、画面Bでflashが表示された後に、画面B自体を更新すると表示されなくなりますが、
ブラウザの戻るボタンで画面Bに戻ってくる場合、再表示させない方法はないでしょうか?
こちらの質問サイトで、同じ内容がありましたが、どのように記載して良いか分からず
ご教示いただけますと幸いです。
#該当のソースコード
js
1$(function(){ 2 setTimeout("$('.notice, .alert').fadeOut('slow')", 1900); 3 });
rails
1 def create 2 @memo = Memo.create(title: memo_params[:title],url: memo_params[:url], text: memo_params[:text], user_id: current_user.id) 3 if @memo.save 4 redirect_to "/users/#{current_user.id}", notice: '投稿に成功しました!' 5 else 6 flash.now[:notice] = '投稿に失敗しました.....' 7 render :new 8 end 9 end
#試したこと
if @memo.save flash.now[:notice] = '投稿に成功しました!' redirect_to "/users/#{current_user.id}" else flash.now[:notice] = '投稿に失敗しました.....' render :new
上記のように書き換えてみたのですが、flash.nowですと、フラッシュメッセージが
表示されなくなってしまいます。
あなたの回答
tips
プレビュー