Skip to content

Commit 389cc4f

Browse files
committed
Applied ajaxSetup Data Support Patch
1 parent 7a4c6f4 commit 389cc4f

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

src/rails.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,17 @@
116116
method = element.attr('method');
117117
url = element.attr('action');
118118
data = element.serializeArray();
119+
if ($.ajaxSettings && $.ajaxSettings.data) {
120+
$.each(($.ajaxSettings && $.ajaxSettings.data), function(key, value) {
121+
var boolFlag = true;
122+
$.each(data, function(arrayIndex, arrayObject) {
123+
if (arrayObject.name == key) {
124+
boolFlag = false;
125+
}
126+
});
127+
if (boolFlag == true) { data.push({'name':key, 'value':value}) };
128+
});
129+
}
119130
// memoized value from clicked submit button
120131
var button = element.data('ujs:submit-button');
121132
if (button) {
@@ -127,10 +138,20 @@
127138
url = element.data('url');
128139
data = element.serialize();
129140
if (element.data('params')) data = data + "&" + element.data('params');
141+
if ($.ajaxSettings && $.ajaxSettings.data) {
142+
$.each(($.ajaxSettings && $.ajaxSettings.data), function(key, value) {
143+
if ((data.indexOf("&" + key + "=") == -1) && (data.indexOf(key + "=") != 0)) { data = data + "&" + key + "=" + value};
144+
});
145+
}
130146
} else {
131147
method = element.data('method');
132148
url = rails.href(element);
133149
data = element.data('params') || null;
150+
if ($.ajaxSettings && $.ajaxSettings.data) {
151+
$.each(($.ajaxSettings && $.ajaxSettings.data), function(key, value) {
152+
if (!(data[key])) { data[key] = value };
153+
});
154+
}
134155
}
135156

136157
options = {

0 commit comments

Comments
 (0)