Rails 3.2:ArgumentError:创建时参数数量错误(2表示1)

Raf*_*ier 8 ruby-on-rails-3.2

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

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

是否有人与Rails 3.2有同样的问题?

Raf*_*ier 17

你重载了模型的initialize方法吗?在我的情况下,我已经超载它:

def initialize(attributes=nil)
    ...
end
Run Code Online (Sandbox Code Playgroud)

我必须解决的问题是:

def initialize(attributes = nil, options = {})
    ...
end
Run Code Online (Sandbox Code Playgroud)

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