コメント投稿機能をajax化しようとしているのですが、リロード
しないと反映されません。
いいね機能のajax化には成功しているため、Jqueryの問題ではないと思います。
おそらくjsのrenderが行われていないんだと思います。
ですが、どこを治すべきなのか自分では気づけなかったので、しつもんさせていただきます。
詳細ページ
<!--コメント欄-->(一部抜粋) <div id="comment_form"> <%= render 'comments/form', song: @song, comment: @comment %> </div> <div id="comment_index"> <%= render 'comments/comments', comments: @comments %> </div> </div>
create.js.erb $("#comment_index").html("<%= j(render 'comments/comments', comment: @comments) %>") $("#comment_form").html("<%= j(render 'comments/form',song: @song, comment: @comment) %>") destroy.js.erb $("#comment_index").html("<%= j(render 'comments/comments', comment: comments ) %>")
_comments.html.erb
<% comments.each do |comments| %> <%= image_tag comments.user.profile_image.to_s, class:"header-profile" %> <p class="name"><%= comments.user.name %></p> <div class="comment-text"> <p><%= comments.content %></p> <% if current_user.my_comment?(comments) %> <%= button_to "削除", comment_path(comments), method: :delete, remote: true, class:"btn btn-danger" %> <% end %> </div> <% end %>
_form.html.erb
<%= form_for comment, url: comments_path, remote: true do |f| %> <%= f.hidden_field :song_id, :value => song.id %> <%= f.text_field :content, placeholder:"コメントを入力", class:"comment-form" %> <%= f.submit "コメント", class:"btn comment-btn" %> <% end %>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/04 01:31
2020/02/04 01:35
2020/02/04 02:35
2020/02/04 02:58