Я отправляю запрос Ajax POST для создания нового обзора. Я хочу, чтобы мой контроллер вернул идентификатор нового объекта, чтобы я мог обновить пару элементов на моей веб-странице. Хотя единственный функциональный возврат, который я получаю, - это полный код веб-страницы.идентификатор возвращаемого элемента от контроллера до ответа Ajax
Вот Ajax:
$(document).ready(function(){
$(".new_rate_restaurant").change(function(e){
e.preventDefault();
var path = $(this).closest("form").attr("action");
$.ajax({
type: 'POST',
url: path,
data: $(this).closest("form").serialize(),
success: function(response){
alert(response);
}
});
});
});
Вот мой контроллер:
if @review = Review.create(@attr)
flash[:success] = "Review saved. Share with friends!"
#render :json => @review
else
flash[:error] = @review.errors.full_messages.to_sentence
end
respond_to do |format|
format.html {redirect_to @restaurant}
format.js
format.json
end
Вот что не сработало:
положить render :json => @review.id
после обзора создается, или в response_to block. По крайней мере, не так, как написано в комментарии под вспышкой [: success]
Удачи! Я очень надеюсь, что скоро получаю ответы!
Я не знаю, о рубин-на-рельсы , но я кое-что знаю о AJAX ... он всегда возвращает любую страницу на выходах принимающей стороны. Другими словами, либо проанализируйте содержимое веб-страницы, которую вы получаете, либо просто получите только возвращаемый идентификатор. –