新しいレビューを作成するために Ajax POST 呼び出しを送信します。コントローラーが新しいオブジェクトの ID を返すようにして、Web ページのいくつかの要素をそれで更新できるようにします。しかし、私が得る唯一の機能的なリターンは、完全な Web ページ コードです。
アヤックスは次のとおりです。
$(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ブロックに入れます。少なくとも、flash[:success] の下のコメントに入力されているとおりではありません
頑張ってください!すぐに返信が来ることを本当に願っています!