Я хочу добавить обновление #comment-counter-fiels
после действия уничтожения (render 'destroy'
).
Я имею в виду _fields.html.slim
:
span#comment-counter-field.comment-counter.color-brand-fourth.size-small
= user.comments_count || 0
Действие в контроллере comments_controller.rb
:
def destroy
@comment.destroy
respond_to do |format|
format.html {
if @comment.obj.comments.blank?
redirect_to forum_root_path
else
redirect_back fallback_location: root_path
end
}
format.js {
if @comment.obj.comments.blank?
render json: { redirect_to: forum_root_path } # Here
return
else
render json: { status: 'no_content' } # Here
return
end
}
end
end
Действие в представленной панели управления _comment.html.slim
:
- if can?(:destroy, comment)
li
= link_to 'DELETE IT',
comment_path(comment),
method: :delete,
remote: true,
data: { destroy_remote: true, destroy_target: '.comment', type: :json },
class: 'js-comment-destroy'
А просмотры destroy.erb
:
var commentsCount = "<%= User.find(@comment.user.id).comments_count %>"
$('#comment-counter-field').text(commentsCount)
Я использовал много случаев, но, к сожалению, не сработало ... Может быть, изменить запрос json, но не знаю, как это сделать.