Javascript RAILS上的AJAX-Can';t删除后更新书签符号,错误500
因此,书签实际上正在被销毁。问题是控制台抛出一个错误500,并且书签没有被取消选择。当我更新页面时确实会发生这种情况,所以它实际上被破坏了,但是AJAX请求由于某种原因没有得到满足。这是我的密码: 书签控制器:Javascript RAILS上的AJAX-Can';t删除后更新书签符号,错误500,javascript,ruby-on-rails,ruby,ajax,Javascript,Ruby On Rails,Ruby,Ajax,因此,书签实际上正在被销毁。问题是控制台抛出一个错误500,并且书签没有被取消选择。当我更新页面时确实会发生这种情况,所以它实际上被破坏了,但是AJAX请求由于某种原因没有得到满足。这是我的密码: 书签控制器: def destroy @bookmark = Bookmark.find(params[:id]) @recommendation = Recommendation.find(@bookmark.recommendation_id) if @bookmark.destroy r
def destroy
@bookmark = Bookmark.find(params[:id])
@recommendation = Recommendation.find(@bookmark.recommendation_id)
if @bookmark.destroy
respond_to do |format|
format.html { redirect_to recommendation_path(@recommendation) }
format.js # <-- will render `app/views/reviews/create.js.erb`
end
else
flash[:notice] = "Couldn't delete bookmark"
redirect_back(fallback_location: root_path)
return
end
Destroy.js.erb:
function refreshForm2() {
var els = document.querySelector("a[href='/bookmarks/<%=@bookmark.id%>']");
els.setAttribute("data-method", "post");
els.setAttribute("href", "/recommendations/<%= recommendation.id %>/bookmarks");
els.querySelector("i").setAttribute("class", "far fa-bookmark fa-xs")
}
refreshForm2();
函数refreshForm2(){
var els=document.querySelector(“a[href='/bookmarks/']”);
els.setAttribute(“数据方法”、“post”);
els.setAttribute(“href”,“/recommendations//bookmarks”);
els.querySelector(“i”).setAttribute(“类”、“远fa书签fa xs”)
}
refreshForm2();
错误是:
应用程序-852f66c6902b94f224b15c5a88c6c45599d9e733ce132ce9a28ec6a092031d74。js:216
删除500(内部服务器错误)
我在这里真的迷路了。我做错了什么?“创建”功能非常好,将书签图标从未填充更新为已填充。这实际上是一个非常愚蠢的错误,感谢@Yurii提供日志提示。我真的是新手,甚至不知道如何检查,哈哈 您可以将日志级别更改为调试。检查
config.log\u level=:info
config/environments/development.rb中的行。并提供更详细的日志输出
function refreshForm2() {
var els = document.querySelector("a[href='/bookmarks/<%=@bookmark.id%>']");
els.setAttribute("data-method", "post");
els.setAttribute("href", "/recommendations/<%= recommendation.id %>/bookmarks");
els.querySelector("i").setAttribute("class", "far fa-bookmark fa-xs")
}
refreshForm2();