我发送了一个 Ajax POST 调用来创建一个新的评论。我希望我的控制器返回新对象的 ID,这样我就可以用它更新网页上的几个元素。然而,我得到的唯一功能返回是完整的网页代码。
这是阿贾克斯:
$(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
在创建评论之后或在 respond_to 块中放置 a 。至少不像在 flash[:success] 下的评论中输入的那样
祝你好运!我真的希望我能尽快得到一些回应!