モーダルウィンドウを使って、選択した投稿が自分の投稿であった場合に削除ボタンを表示させたいのですがうまくいきません
以下のモーダルウィンドウ内に<% if post.user_id == current_user.id %>
というコードで自分の投稿の場合は表示させたいのですがなぜか他人の投稿の場合も削除ボタンが表示されて削除できてしまいます。
モーダルウィンドウ内ではなく普通に書けばきちんと自分の投稿の場合だけ削除ボタンが表示されますがモーダルウィンドウ内に書くと他人の投稿も削除できるようになってしまいます。
何が原因で上記のような問題が発生しているのでしょうか。
モーダルウィンドウ
モーダルウィンドウは こちらのサイト を参考にしています
HTML
1<p><a href="#modal01" class="modalOpen">詳細</a></p> 2 <div class="modal" id="modal01"> 3 <div class="overLay modalClose"></div> 4 <div class="inner"> 5 <% if post.user_id == current_user.id %> 6 <%= link_to post_path(post), method: :delete, class: "ml-auto mx-0 my-auto" do %> 7 <span class="dropdown-item">削除</span> 8 <% end %> 9 <% end %> 10 <a href="" class="modalClose">Close</a> 11 </div> 12</div>
JavaScript
1$(function(){ 2 3 $(".modalOpen").click(function(){ 4 5 var navClass = $(this).attr("class"), 6 href = $(this).attr("href"); 7 8 if(href === "#modal02") { 9 $(href).children(".inner").css("animation","modal 0.5s forwards"); 10 } 11 $(href).fadeIn(); 12 $(this).addClass("open"); 13 return false; 14 }); 15 16 $(".modalClose").click(function(){ 17 18 var parentsID = $(this).parents(".modal").attr("id"); 19 20 if(parentsID === "modal02") { 21 $(this).parents(".modal").children(".inner").css("animation","modalClose 0.5s forwards"); 22 } 23 24 $(this).parents(".modal").fadeOut(); 25 $(".modalOpen").removeClass("open"); 26 return false; 27 }); 28 29});
あなたの回答
tips
プレビュー