rails关联回调AFTER关联保存

时间:2016-11-18 23:31:43

标签: ruby-on-rails

我有Conversation个留言和参与者

在我正在构建和保存的控制器中

conversation = Conversation.new(params)
conversation.participations.build(params)
conversation.messages.build(params)
conversation.save

我的Message.rb有一个after_create回调。

on save我希望所有对象都被保留,然后所有的回调都被触发。

我发现消息回调是在参与持续之前解雇的。

1 个答案:

答案 0 :(得分:1)

不要忘记在整个事务完成之前不会运行提交 - 这发生在wordChar = WordfromList[cN]回调之后。因此,在成功完成after_create

之前,您的对象将不会完全持久保存到数据库

也许您希望使用conversation.save - 很难说这是否可以解决您的问题,因为您的问题不明确是什么动机或您遇到任何问题。