gpt4 book ai didi

ruby-on-rails - 未为 accepts_nested_attributes_for 触发观察者和回调

转载 作者:行者123 更新时间:2023-12-04 06:33:04 25 4
gpt4 key购买 nike

我有一个模型主题和帖子。主题 has_many :posts。

在主题模型中,我也接受了 :posts_nested_attributes_for ,

似乎在使用 Post 的一些参数更新 Topic 时,Post 模型不会触发观察者和回调。这是错误还是功能?

最佳答案

不确定“当使用 Post 的一些参数更新主题时”是什么意思,但是 Post回调只会在您更新 post 对象时运行。

即这将触发回调:

@post.update_attributes(:topics_attributes => [...])

...但这不会:
@topic.update_attributes(:post_id => 123, ...)

如果要触发 Post after_update更新主题时的回调,您可以执行以下操作:
# topic.rb
after_update :touch_post
private
def touch_post
post.touch
end

观察者代码的行为类似于回调。

关于ruby-on-rails - 未为 accepts_nested_attributes_for 触发观察者和回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8614415/

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