我有一个名为“用户”的模型,该模型与“地址”模型有很多关联。

当我执行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。

09-17 21:30
查看更多