AJAX ON RAILS - Не удается обновить символ закладки после удаления, ошибка 500 - PullRequest
0 голосов
/ 17 марта 2020

Итак, закладка фактически уничтожается. Дело в том, что консоль выдает ошибку 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 (Внутренняя ошибка сервера)

Я действительно потерян здесь. Что я делаю неправильно? Создание прекрасно работает и обновляет значок закладки с незаполненного до заполненного.

1 Ответ

0 голосов
/ 17 марта 2020

Это была действительно глупая ошибка, спасибо @Yurii за подсказку в журналах. Я действительно новичок в этом и даже не знал, как это проверить, лол!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...