当前位置:  开发笔记 > 编程语言 > 正文

ArgumentError:rails中更新方法的参数数量错误(1表示2)

如何解决《ArgumentError:rails中更新方法的参数数量错误(1表示2)》经验,为你挑选了1个好方法。

看起来有很多人有同样的问题,但没有人解决我的问题.我对rails很新,所以这可能是我想念的小事.

我收到以下错误'ArgumentError:错误的参数数量(1为2)'

当我运行命令

Game.find(12).game_categories(55).update(approved_by: 1)

我传递approved_by键和值(整数)1,但它不会工作.

我从另一个发现的帖子中试过这个

Game.find(12).game_categories(55).update(approved_by, 1)

但后来我得到错误'NameError:未定义的局部变量或方法`approved_by'为main:Object'

游戏与带有has_many的game_categories相关联,并且approved_by列肯定存在.

创建一个新的game_category可以正常使用该命令

Game.find(1).game_categories.create!(name:  'category name')

但我无法更新属性.

这是怎么回事?

编辑:

我只想更新一条记录('game_categories'表中的列'approved_by',ID为55.



1> user3409950..:
Game.find(12).game_categories(55)

返回记录关系,而不是单个记录.因此,为了更新id为12的游戏的所有game_categories,你可以使用

Game.find(12).game_categories(55).update_all(approved_by: 1)

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有