gpt4 book ai didi

ruby-on-rails - Rails,在创建新记录之前删除存在具有相同列值的记录

转载 作者:行者123 更新时间:2023-12-01 20:07:58 25 4
gpt4 key购买 nike

我有一个对象 person,它与照片对象有“has_many”关系

has_many :photos, :foreign_key => 'person_id', :dependent => :destroy

照片上:

belongs_to :person, :foreign_key => 'person_id'

我想做的事。在更新人员期间,如果用户向该人员上传了具有相同“种类”(这是照片的属性)的新照片,则旧种类将从数据库中删除

例如:正在对上传有友善“面孔”照片的人进行更新如果已存在具有相同“person_id”和相同“kind”的照片记录它将首先被删除(不更新),然后才保存新记录

谢谢

最佳答案

你的逻辑足够复杂,无法构建到框架中,你可以在 Controller 或模型中执行你需要的操作,只需找到你想要替换的照片,如果存在则销毁它并创建新的

photo = person.photos.where(kind: "face").first
photo.destroy if photo

# procede with creating new photo object

关于ruby-on-rails - Rails,在创建新记录之前删除存在具有相同列值的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14535810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com