Я новичок в rails и в настоящее время пытаюсь проверить ответы для конечных точек, которые возвращают JavaScript и JSON в качестве ответа. Моя проблема в том, что я могу только увидеть ответ JavaScript, а возвращающиеся статусы просто блокируют выполнение JavaScript. Я искал везде, но не могу найти ответ на мою текущую проблему. Ниже приведен код, который я пытаюсь проверить
respond_to do |format|
if @comment.update(comment)
format.json { render :news, status: :success, location: @comment }
format.js { }
else
format.json { render json: @comment.errors, status: :unprocessable_entity }
format.js { }
end
end
Я пытался вернуть статусные ответы, как показано ниже, чтобы проверить статус, а не читать JSON
head(422)
и
format.js { head :unprocessable_entity }
Хотя кажется, что они работают с точки зрения получения ответа, они также блокируют выполнение JavaScript. При попытке установить содержимое тела я могу только прочитать JavaScript, JSON, кажется, не присутствует.
put update_comment_url(@comment), params: { comment: { uncensored: @comment.uncensored, id_reference: @comment.id_reference, page_type: @comment.page_type, replied_to: @comment.replied_to, user_id: @comment } }, xhr: true
Когда явно запрашивается определенный формат, как показано ниже
put update_comment_url(@comment), params: { comment: { uncensored: @comment.uncensored, id_reference: @comment.id_reference, page_type: @comment.page_type, replied_to: @comment.replied_to, user_id: @comment }, :format => 'json' }, xhr: true
Это просто вызывает ошибку, поскольку она ожидает, что будет присутствовать представление, которого не существует. Я, скорее всего, неправильно понимаю некоторые концепции здесь, но я надеюсь, что кто-то может направить меня в правильном направлении.