Итак, закладка фактически уничтожается. Дело в том, что консоль выдает ошибку 500 и закладка не становится невыбранной. Это происходит, когда я обновляю страницу, поэтому она фактически уничтожается, но запрос AJAX по какой-то причине не выполняется. Вот мой код:
Контроллер закладок:
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
end
Маршруты:
resources :bookmarks, only: [:destroy]
get "/recommendations", to: "recommendations#index"
resources :recommendations, not: [:index] do
resources :reviews, only: [:new, :create, :destroy]
resources :bookmarks, only: [:create, :destroy]
end
Уничтожить. 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();
Ошибка:
application-852f66c6902b94f224b15c5a88c6c45599d9e733ce132ce9a28ec6a092031d74. js: 216 DELETE 3000 * 30009 1021 * 500 (Внутренняя ошибка сервера)
Я действительно потерян здесь. Что я делаю неправильно? Создание прекрасно работает и обновляет значок закладки с незаполненного до заполненного.