railsでlink_toにremoto_trueオプションをつけて非同期でdestroyアクションを実装しようとしています。
ページを読み込み削除ボタンを押しても一度目はイベントが発火しません。(console.logが実行されないため)。ですが、データベースのテーブルは削除されています。ターミナルのログをみて確認済み。二回目に押すとイベントが実行され期待している動作が発動します。
どうしてこのように一度目ではJsがなにも作動せず、二度目からうごくのか,教えていただきたいです。
解決法も併せてお願いします。
app/views/posts/_index.html.erb
`<div class="contents">
<% posts.each do |post| %>
<div class="content" %>">
<%= post.text %>
<%= link_to "削除する",post_path(post),method:"delete",class:"kill",remote:true %>
</div>
<% end %>
app/views/posts/index.html.erb
`<div class="contents">
<% posts.each do |post| %>
<div class="content" %>">
<%= post.text %>
<%= link_to "削除する",post_path(post),method:"delete",class:"kill",remote:true %>
</div>
<% end %>
app/controller/posts.controller.rb
def destroy @post = Post.find(params[:id]) @post.delete respond_to do |format| format.js format.json end end
app/views/posts/destroy.js.erb
$('.kill').on('click',function(e){ console.log("hi"); $(this).parent().fadeOut(); });
回答1件
あなたの回答
tips
プレビュー