ruby-on-rails - ActiveRecord - 销毁不更新父对象
问题描述
得到以下有一个关系
class x
has_one y
end
class y
belongs_to x
end
x.create_y
x.y.present? #true
x.y.destroy
x.y.present? #true
x.reload.y.present? #false
我知道,在销毁父对象之后仍然引用了一个已删除的对象,这是预期的行为,但是,有没有办法在单行中销毁关系并更新父对象?或者我必须调用重新加载?
解决方案
尝试使用has_one y, dependent: :destroy
请参考: http: //guides.rubyonrails.org/association_basics.html#options-for-belongs-to-dependent
推荐阅读
- mysql - 使用多个 JOINS、子查询和 MIN MAX 优化 Select 查询
- mysql - 根据重复事件将具有序列数据的列添加到表中
- google-cloud-platform - 如何在谷歌云中查看某人共享的bigquery数据集
- r - 过滤 data.frame 中列值不一致的行
- azure-devops - Azure DevOps 管道从构建变量设置 git 用户电子邮件
- reactjs - 我如何将道具传递给嵌套路由,因为我在 this.props.match 中未定义
- javascript - 通过 JS 更改多个类中的内容
- c# - 如何更改 ComboBox WinForms 元素的 AutoComplete 弹出窗口的样式?
- reactjs - ReactJS:条件渲染在handleSubmit函数之前提交表单数据
- django-import-export - Django-import-export:导入 ForeignKey 字段仅对第一个值成功