gpt4 book ai didi

ruby-on-rails - 在 Mongoid 中更新相关 has_and_belongs_to_many 模型的 updated_at

转载 作者:行者123 更新时间:2023-12-04 13:49:37 28 4
gpt4 key购买 nike

我有两个具有 has_and_belongs_to_many 关系的模型。

class Person
include Mongoid::Document
include Mongoid::Timestamps
has_and_belongs_to_many :stories;
end

class Story
include Mongoid::Document
include Mongoid::Timestamps
has_and_belongs_to_many :people;
end

我想把一个故事推给一个人,

Person.stories << Story.first

我希望这会更新此人的 updated_at 字段。但是它没有更新。有没有办法更新字段?我应该使用触摸吗?

最佳答案

这在 this GitHub issue 中讨论.添加新的相关对象时,不会更新基础对象。如果您使用的是 belongs_to,则可以添加 touch: true ,但你不是。

在对该问题的讨论中,他们建议在相关对象中添加一个after_save。在这种情况下,您必须将它添加到关系的两边:

class Person
after_save do
stories.each(&:touch)
end
end

class Story
after_save do
people.each(&:touch)
end
end

不够优雅,但应该可行?

关于ruby-on-rails - 在 Mongoid 中更新相关 has_and_belongs_to_many 模型的 updated_at,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23661962/

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