Rails - 在before_save回调中保存另一个Model的对象

时间:2011-03-24 13:03:26

标签: ruby-on-rails callback

我可以在另一个模型B的“before_save”回调中调用模型A的对象“保存”吗?

案例:我有一个拥有艺术家的活动模型。当我保存一个事件时,我需要将它与那些艺术家联系起来,如果艺术家仍然不存在,我需要创建并保存它。 (只传递一个字符串,而不是Object,这就是他在事件创建时不能存在的原因)

所以,问题是:我可以在事件的before_save上调用artist.save吗?

这里发布了一条有争议的评论:http://apidock.com/rails/ActiveRecord/Callbacks/before_save但是“有时候观察”确实很吓人。

1 个答案:

答案 0 :(得分:0)

很难证明是否定的,但快速浏览Lighthouse中的开放票证并未显示与您找到的评论相关的任何内容。

一般情况下,您可能希望将艺术家分配/保存链稍微保存到before_validation回调。这样,您可以在事件模型中要求艺术家,并在事件验证中捕获艺术家创作的任何问题。