お世話になります。
現在 Railsで フラッシュメッセージを表示させたいのですが、
記事のページから コメントというリンクを踏むと、コメントページが表示され、コメントが投稿できるようになっております。
コメントを投稿したら、リダイレクトして、記事のページに戻り、投稿しました!とフラッシュメッセージを表示したいのですが、
うまくいかないので、アドバイスをいただきたいです。
現状
記事コントローラー
rails
1 def show 2 3 end 4
コメントコントローラー
rails
1 def create 2 3 @kiji = Kiji.new( 4 kiji: @kiji 5 ) 6 7 @kiji.attributes = { 8 body: params[:comment][:body], 9 } 10 if recaptcha_valid?(@kiji, :create) && @kiji.save 11 render json: { 12 status: 'success', 13 message: '投稿しました' 14 } 15 else 16 render json: { 17 status: 'error', 18 message: 'NG', 19 messages: @kiji.errors.full_messages 20 } 21 end 22 end 23 format.any do 24 if recaptcha_valid?(@kiji, :create) && @kiji.save 25 flash[:notice] = '投稿しました' 26 redirect_to kiji_path(@kiji) <-------------------コメントした記事ページに戻る 27 28 else 29 new 30 end 31 end 32 end 33 end
コメントコントローラーからリダイレクトした、記事のページの show のコントローラーになにか記述が必要なのでしょうか?
記事のページの上部には、
show.html
html
1{% if notice.present? %} 2 <div class="sysmsg alert alert-info"> 3 <button class="close" data-dismiss="alert"><span class="fa fa-times"></span></button> 4 {{ notice }} 5 </div> 6{% endif %} 7 8{% if alert.present? %} 9 <div class="sysmsg alert alert-danger"> 10 <button class="close" data-dismiss="alert"><span class="fa fa-times"></span></button> 11 {{ alert }} 12 </div> 13{% endif %} 14
としてみたのですが、なにも表示されません。。。
アドバイスをお願いします。
コントローラのdef-endの対応が取れてませんが、省略などしているのでしょうか?
Railsでは見ないタイプのhtmlテンプレートエンジンですが何をご利用ですか?
>コントローラのdef-endの対応が取れてませんが、省略などしているのでしょうか?
すみません。少し省略しております。
https://qiita.com/t-kurasawa/items/3dc49d46f0b5e9659da5
上記のものをつかっています。
回答1件
あなたの回答
tips
プレビュー