【发布时间】:2011-06-14 06:33:40
【问题描述】:
build_foo 调用中的第二个参数永远不会进入Foo#initialize(即args[1] 是nil)。有什么建议可以将两个或多个参数传递给Foo#initialize,同时保持*args 是唯一要初始化的参数?
class Foo < ActiveRecord::Base
belongs_to :bar
def initialize *args
super()
self.total = args[0] + args[1]
end
end
class Bar < ActiveRecord::Base
has_one :foo
def do_something
build_foo 2, 3 # 3 never reaches Foo#initialize
build_foo [2,3] # args[0] == [2,3], which is not what's desired
save!
end
end
【问题讨论】:
-
为了您的方便:guides.rubyonrails.org/…
标签: ruby-on-rails activerecord has-one model-associations