8

尝试创建模型的实例,我收到以下错误...

u = User.create
# or .where(...).first_or_create
# or .where(...).first_or_initialize
ArgumentError: wrong number of arguments (2 for 1)

有人对 Rails 3.2 有同样的问题吗?

4

1 回答 1

17

您是否重载了模型的initialize方法?就我而言,我已经超载了它:

def initialize(attributes=nil)
    ...
end

我必须修复:

def initialize(attributes = nil, options = {})
    ...
end

在 Rails 3.2 中,提交 7c5ae0a88fc9406857ee362c827c57eb23fd5f95(向 AR.new 添加了批量分配安全性 :as 和 :without_protection 支持)为上述方法添加了更多参数,这就是我之前的实现失败的原因。

于 2012-01-23T01:36:49.390 回答