【发布时间】:2012-12-26 00:46:24
【问题描述】:
我有一个 Match 模型和一个 Team 模型。 我想在保存匹配后运行一个实例方法(在 Team 模型中编写)。这就是我所拥有的。
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
它有效。现在我需要在保存比赛时运行它。所以我尝试了这个:
match.rb
after_save :Team.goals_sum
after_destroy :Team.goals_sum
而且它不起作用。 我知道我缺少一些基本的东西,但我仍然无法完成它。有什么建议吗?
【问题讨论】:
-
那你为什么不把它放在
Match呢? -
比赛模型是否与参加比赛的球队有 2 个关系?喜欢 team_a 和 team_b?
-
@mliebelt - 是的,它有 2 个关系:
belongs_to :team_a, :class_name => 'Team', :foreign_key => 'team_a_id'(对于 :team_b 也是如此)
标签: ruby-on-rails ruby methods model