我有一个名为“用户”的模型,该模型与“地址”模型有很多关联。
当我执行User.new.addresses.build时,出现以下错误,
ArgumentError: wrong number of arguments (1 for 0)
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/reflection.rb:162:in `initialize'
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/reflection.rb:162:in `new'
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/reflection.rb:162:in `build_association'
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations/association_collection.rb:423:in `build_record'
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/associations/association_collection.rb:102:in `build'
from (irb):10
当我在地址模型中添加初始化方法时,就会发生这种情况。
任何帮助都受到高度赞赏...
编辑:
没有初始化方法的参数,它看起来像这样
class Address < ActiveRecord::Base
attr_accessor :test
def initialize
test = "manu"
end
end
最佳答案
不建议重写ActiveRecord继承类的initialize方法。
如果要添加自定义初始化,请使用after_initialize
回调。有关所有ActiveRecord callbacks,请参见rails api。