【发布时间】:2011-02-16 16:25:24
【问题描述】:
我正在尝试从另一个模型增加我的用户表中的计数器。
class Count < ActiveRecord::Base
belongs_to :user
after_create :update_count
def update_count
user = User.find(self.user_id)
user.increment(:count)
end
end
因此,当创建计数时,目标是为该用户增加一个计数器列。目前它在创建后拒绝获取用户,我得到一个 nil 错误。
我正在为我的用户使用设计
这是正确(最佳实践)的地方吗?我让它在控制器中工作,但想清理它。
我对模型回调非常缺乏经验。
【问题讨论】:
-
你能添加你用来创建 Count 对象的代码吗?您可能希望包含您的目标或业务案例,否则请为尝试重构您正在做的事情的大量答案做好准备。
-
我明白了,我想概括模型并使情况变得简单。 User has_many Counts 其中每个 User 条目都有一个在创建时跟踪计数的列 (user.count)。
标签: ruby-on-rails model callback