gpt4 book ai didi

javascript - 使用 AJAX Rails 从 View 中删除评论

转载 作者:行者123 更新时间:2023-12-02 15:00:10 27 4
gpt4 key购买 nike

我有一个带有评论的目录应用程序。我使用 remote: true 添加和删除注释,并且我想使用 Jquery 将它们淡出在我的 View 中。

如何获取对我想要在 View 中淡出的评论的引用?我可以很好地删除评论,但我不知道如何在我的 View 中淡出评论

这是我的 Controller :

class CommentsController < ApplicationController
def create
business = Business.find(params[:business_id])
new_comment = business.comments.create
new_comment.comment = params[:comment_text]
new_comment.save
respond_to do |format|
format.html {redirect_to business}
format.js
end
end

def destroy
business = Business.find(params[:business])
comment = Comment.find(params[:id])
comment.destroy!
params[:id] = business.id
respond_to do |format|
format.html {redirect_to business_url(id: params[:id])}
format.js
end
end
end

评论在我的业务 View 中呈现如下:

<aside class="comment-section">
<h4 class="thin-grey-underline"><span class="glyphicon glyphicon-comment glyphicon-left-space"></span> Reviews </h4>
<% if !@business.comments.empty? %>
<% @business.comments.each do |comment| %>
<div id="comments">
<%= render partial: 'comment', locals: {comment: comment, business: @business} %>
</div>
<% end %>
<% else %>
<p> No reviews yet... </p>
<% end %>
<%= render partial: 'comments_form' %>
</aside>

我的单条评论部分:

<div class="row single-comment vertical-align">
<div class="col-sm-12 col-md-3">
<div class="profile-image" style="background: url('<%= business.profile_image_url(:thumb).to_s %>') no-repeat; background-position:center"></div>
</div>
<div class="col-sm-12 col-md-9">
<h5><%= comment.title %></h5>
<p><%= comment.comment %></p>
<%= button_to(business_comment_path(@business.id,comment.id), {method: :delete, remote: true, class:"btn btn-danger delete-comment-button pull-right", params:{id: comment.id, business: business.id}} ) do%>
<i class="glyphicon glyphicon-trash"></i>
<% end %>
</div>
</div>

用于创建新评论的表单部分:

<div class="row">
<div class="col-sm-12 col-md-12">
<div class="comments-form">
<%= form_tag(business_comments_path(@business), html: { id: "comment-form" }, method: 'post', remote: true) do %>
<h5 class="thin-grey-underline"><span class="glyphicon glyphicon-pencil glyphicon-left-space"></span> Write a Review </h5>
<%= text_area_tag(:comment_text,nil, class: "comment-form-input")%>
<%= hidden_field_tag 'business_id', params[:id] %>
<%= submit_tag("Comment", class:"btn btn-primary") %>
<% end %>
</div>
</div>
</div>

如果我有评论列表,如何通过单击删除链接来删除特定评论,并以淡出方式将其从我的 View 中删除?

我有一个被调用的 destroy.js.erb 文件,但我不知道如何获取引用来淡出特定评论..不确定我是否在这里清楚地解释了自己

最佳答案

你可以尝试这样的事情:

在您的评论部分:

<div id="comment_<%= comment.id %>" class="row single-comment vertical-align">

destroy.js.erb:

$('#comment_<%= @comment.id %>').remove();

关于javascript - 使用 AJAX Rails 从 View 中删除评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35484102/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com