Railsコントローラーにデータを送信しているJavaScriptにajaxリクエストがあります。コントローラは、データがすでにデータベースにある情報と重複していることを検出すると、「処理不能エンティティ」エラーを返します。
ダイアログを開いて、重複した情報を挿入してもよいかどうかをユーザーに尋ねたいと思います。ユーザーが「はい」と答えた場合は、データオブジェクトに別のキーを追加して、リクエストを再試行します。追加されるキーは、重複チェックを無視し、とにかくデータを挿入するフラグになります。
$.ajax({
url: '/url',
type: 'post',
data: this.buildData(),
success: function() {
bootbox.alert('Information added', function() {
Backbone.history.loadUrl();
}.bind(this)
);
}.bind(this),
error: function(jqXHR, textStatus, errorThrown) {
if(errorThrown === 'Unprocessable Entity') {
bootbox.confirm('Do it anyway?', function(confirm) {
if(confirm) {
/*Here I want to add another key to the data object and resend the request*/
}
}.bind(this)
);
}
}.bind(this)
});
私はこれをどのように行うのでしょうか、あるいはもっと良いことに、私が達成しようとしていることを行うためのより良い方法はありますか?