因此,在我的rails应用程序中,我有一个在Save按钮上单击提交的大表单,但我们还想在使用ajax单击表单上的其他部分时定期保存。所以我设置了一个将表单作为AJAX请求提交的方法。
var $frm = $(form);
$frm.unbind('submit').submit(function() {
$.ajax({
type: $frm.attr('method'),
url: $frm.attr('action'),
data: $frm.serialize(),
success: function (data) {
// Errors out in Server side and does not succeed
}
});
return false;
});
$frm.submit();
不幸的是,这有其他形式,但这种形式有点复杂,并且传递了一系列对象,以下是我得到的错误:
!! Unexpected error while processing request: expected Hash (got String) for param `selected'
有没有人知道如何使用ajax提交Rails表单,你传递像users []这样的项目而不会出现此错误?
答案 0 :(得分:2)
请检查您的表格。这是因为名称相同,例如:
input type="text" name="user[email]" id="user_email"
input type="checkbox" name="user" value="1"
处理请求时出现意外错误:param“selected”
的预期Hash(获取字符串)文字和复选框的名称相同=> “用户”。
答案 1 :(得分:0)
这不是这个问题的答案, 但在某些情况下,这种情况会发生, 当您拥有起始索引为0的数据数组时:null [,{data:1},{data:2}]
领先索引0可能会导致相同的错误