创建

时间:2015-05-28 20:13:44

标签: ruby-on-rails ruby model oncreate associated-object

我有一个模型MyModel,它应该在创建后创建MyAssociation类型的关联记录。我需要在MyModel上创建后运行如下代码:

myass = MyAssociation.new
myass.mymodel_id = self.id
myass.save

实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

您将要使用Rails callbacks,在这种情况下after_create将在成功创建原始对象后执行。像这样:

class MyModel

  after_create :create_associations

  def create_associations
    myass = MyAssociation.new
    myass.mymodel_id = self.id
    myass.save
  end
end