@user.credit
每次User
进行更改或更新时,如何减少Entity Controller
。我必须在User
控制台的Entity
表中进行更改才能执行此操作。
这样做的目的是应用程序在数据库中收取金钱/信用额度。
答案 0 :(得分:1)
您需要在after_create
模型中进行Entity
回调。
class Entity < ActiveRecord::Base
belongs_to :user
after_save :update_user_credits
def update_user_credits
User.update_counters user_id, credits: -1
end
end
答案 1 :(得分:0)
要添加到bcd
的答案,您最好更改user
关联对象,而不是调用全新的SQL调用:
#app/models/entity.rb
class Entity < ActiveRecord::Base
belongs_to :user
after_save :update_credits
private
def update_credits
self.user.decrement! :credit
end
end