【问题标题】:activerecord update wrong number of argumentsactiverecord 更新错误的参数数量
【发布时间】:2015-05-01 10:34:59
【问题描述】:

抱歉,这是一个之前已经解释过的简单问题。我已经对我的问题进行了一些研究。我对 ruby​​ 和活动记录完全陌生,我发现其他示例的参数数量错误,我无法理解。所以这是我的一个简单的。

我正在尝试使用 activerecord 对数据库进行简单更新。我要做的就是为我最初创建它时保留为 nil 的 title 属性添加一个值。

vertigo 是我使用.find 方法分配的变量。

我正在输入vertigo.update(title: 'Vertigo')

但是我收到一条错误消息说

wrong number of arguments (1 for 2).

这里有更多的会话。我正在使用 Sinatra-tux >> vertigo = Movie.all D,[2015-04-20T11:11:38.890714 #3741] DEBUG -- : 电影加载 (0.4ms) SELECT "movies".* FROM "movies" => #]>

vertigo.update 标题:“眩晕” ArgumentError:参数数量错误(1 对 2) /home/michael/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/activerecord-4.0.4/lib/active_record/relation.rb:330:in update' (ripl):4:in'

【问题讨论】:

  • 你能发布你所有的更新吗?包括您的变量分配。它应该工作。你用的是什么版本的导轨?

标签: ruby activerecord


【解决方案1】:

find 可以返回一个数组。您的 vertigo 变量完全有可能实际上是一个数组。

尝试运行

vertigo[0].update(title: 'Vertigo')

假设您只想更改第一个。

【讨论】:

  • 我刚碰到这个。你也可以使用.first -- vertigo.first.update(title: 'Vertigo')
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-24
  • 1970-01-01
  • 2016-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多