参数数量错误的问题
Wrong number of arguments issue
我有以下jQuery可排序代码:
$( ".list" ).sortable({
update: function(){
$.ajax({
url: '/books/sort',
type: 'post',
items: 'li',
data: $('.list').sortable('serialize'),
dataType: 'script',
complete: function(request){
alert("jjjj");
}
});
}
});
以及我的控制器中的排序操作,例如:
def sort
params[:book].each_with_index do |id, index|
Book.update_all({position: index+1}, {id: id})
end
render nothing: true
end
但我收到错误:
ArgumentError (wrong number of arguments (2 for 1)):
app/controllers/books_controller.rb:28:in `block in sort'
如果有人在这里想知道同样的事情,你得到"错误的参数数量"的原因是因为 Rails 发生了变化(我相信是在 4.0 上),移动了您指定条件的部分。
因此,要使其正常工作,您必须使用类似以下内容:
def sort
params[:book].each_with_index do |id, index|
Book.where(id: id).update_all({position: index+1})
end
render nothing: true
end
其他一切都将按预期工作。
按以下步骤操作
Book.where(id: id).
update_all(position: index+1)
如果您阅读文档,它明确指出:-
参数:
updates - 表示 SQL 语句的 SET 部分的字符串、数组或哈希。
相关文章:
- 我该如何解决这个问题?“未捕获的类型错误:无法读取 null 的属性'appendChild'”
- 遇到400错误请求(Angular+WebAPI)的问题
- 扩展错误es6类模块问题
- Createjs冲突问题localToLocal不是函数错误
- Ckeditor出现格式错误的html问题
- 用Javascript为QCM动态生成问题——未捕获类型错误
- 访问模板中的属性时出现问题-除'name'显示错误'没有定义[attributename];
- Meteor上有错误的同步问题
- AJAX自定义错误处理代码问题
- Javascript在每个有问题的控件上输出一条错误消息
- 未捕获的语法错误:意外的令牌:跨域问题
- 我在帖子#index中得到以下错误ExecJS::ProgramError我该如何修复此问题
- 防止在php中缓存500内部错误页面的问题
- 代码有什么问题?它给了我一个运行时错误
- NaN 错误代码有什么问题
- Firefox SDK:包括jquery.flot在内的问题,错误显示维度高度为空
- 这个代码出了什么问题?错误丢失”)&”;
- Javascript变量作用域问题-错误:类型错误:this.graphics未定义
- jQuery修复了" Uncaught TypeError: $不是一个函数"的问题错误
- 解决在angular模板中包含脚本标签导致“同步XMLHttpRequest..”的问题;错误感觉很脏