gpt4 book ai didi

ruby-on-rails - ruby rails : Calling an instance method from another model

转载 作者:数据小太阳 更新时间:2023-10-29 07:53:27 24 4
gpt4 key购买 nike

我有一个 Match 模型和一个 Team 模型。我想在保存匹配后运行一个实例方法(在团队模型中编写)。这就是我得到的。

团队.rb

def goals_sum
unless goal_count_cache
goal_count = a_goals_sum + b_goals_sum
update_attribute(:goal_count_cache, goal_count)
end
goal_count_cache
end

并且有效。现在我需要在保存匹配项时运行它。所以我尝试了这个:

匹配.rb

after_save :Team.goals_sum
after_destroy :Team.goals_sum

而且它不起作用。我知道我缺少一些基本的东西,但我仍然无法完成它。有什么建议吗?

最佳答案

您可以只在 Match 上定义一个私有(private)方法,该方法委托(delegate)给 Team 上的方法(否则,它怎么知道哪个团队运行该方法?你说它是一个实例方法,我假设一场比赛有球队在玩它)。

after_save :update_teams_goals_sum
after_destroy :update_teams_goals_sum

private

def update_teams_goals_sum
[team_a, team_b].each &:goals_sum
end

关于ruby-on-rails - ruby rails : Calling an instance method from another model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14278113/

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