这看起来像是一个非常简单的Question...but :)
Geek name:string
Laser geek_id:integer, power:integer
Geek
has_one :Laser
end
Laser
belongs_to :Geek
end很简单,对吧?
现在我想在创建一个极客之后创建一个激光,所以新的极客模型看起来像这样
Geek
has_one :laser
after_create :create_laser
end这真的很好用,但我也想为激光器的功率属性传递一个默认值,那么我该怎么做呢?
after_create :create_laser(:power => 5000)
不工作:(但它看起来很好:)
有没有人对此有一个漂亮而优雅的解决方案?
发布于 2010-09-04 17:53:45
当然了。
如您所知,您的回调只是方法名。因此,您可以调用另一个方法来设置和创建具有一些默认参数的激光器,而不是在这里使用create_laser。让我们将其命名为setup_laser,并像这样使用它:
before_create :setup_laser我们在Geek模型中这样定义它:
private
def setup_laser
create_laser(:power => 5000)
endhttps://stackoverflow.com/questions/3641667
复制相似问题