【发布时间】:2020-02-24 10:29:26
【问题描述】:
我目前正在做一个 Rails 项目,我有两个模型,Foo 和 Bar。他们的关系是Foo属于Bar。
预期行为
每当我尝试调用 .present? 时,它都会告诉我特定对象是否存在? 对于我给定的场景,Foo.first。 bar.present? 只会告诉我 foo 的 bar strong text 是否存在。
实际行为
调用 Foo.first.bar.present? 正在触发 bar 对象上的 .save,这对我来说很困难,因为有一些保存特定条形对象后可能需要时间更新大量数据的回调。截图链接如下
https://share.getcloudapp.com/d5u0bykB
系统配置
Rails 版本: Rails 5.0.7.2
Ruby 版本: ruby 2.4.4p296(2018-03-28 修订版 63013)[x86_64-darwin18]
【问题讨论】:
-
您好,能否分享一下 Foo 和 Bar 之间的关联是如何定义的?
-
@AmitBadheka 请参考下面的截图share.getcloudapp.com/yAuv4JDd
-
您确定是调用了 after_save 回调而不是 after_find 或 after_initialize 回调吗?
-
@Fernand 是的,我确定。
-
在问题上粘贴代码,而不是图片(阅读堆栈溢出指南),同时显示相关代码,而不仅仅是关联(例如也显示回调)
标签: ruby-on-rails ruby ruby-on-rails-5