Остановить перенаправление в действии Rails 3.1? - PullRequest
0 голосов
/ 27 января 2012

Я делаю некоторые вещи на Rails с AJAX (не использую UJS, а вместо этого использую свой собственный AJAX).Мое действие выглядит следующим образом:

# DELETE /votes/1
# DELETE /votes/1.json
def destroy
  @vote = Vote.find(params[:id])
  Comment.increment @vote.comment_id, :up_votes => -1
  @vote.destroy

  respond_to do |format|
    format.html { redirect_to votes_url }
    format.json { head :ok }
  end
end

Это действие вызывается через JavaScript ala:

   ajaxOptions = {
      url: $(this).attr("href"),
      type: $(this).attr("data-method"),
      data: {
        comment_id: $(this).attr("data-comment_id"),
        _method: 'delete'
      },
      success: function(response) {
        return someFunc();
      }
    };
    $.ajax(ajaxOptions);

Однако, то, что происходит, это действие перенаправляет на страницу списка голосов.Я хочу, чтобы он вообще не перенаправлял, просто вернул некоторый положительный статус в JavaScript, чтобы мой someFunc() мог работать без проблем.

Как мне это сделать?

1 Ответ

1 голос
/ 27 января 2012

Измените ваш обработчик response_to на Javascript вместо JSON:

respond_to do |format|
  format.html { redirect_to votes_url }
  format.js { head :ok }
end
...