我有一個基本的應用程序,允許user1創建一個可兌換的代碼。用戶1與他的朋友和用戶共享此代碼2,3,4兌換代碼。在每次贖回時,我需要增加user1的points屬性。rails 3增加/ after_save之前的相關模型屬性
第一次用戶兌換代碼時,它創建了一個兌換。由於用戶只能兌換一次代碼,因此這再也不能工作了。另一個用戶可以兌換它,但每個用戶不能超過一次。
所以我想我會使用before或after_create回調。這裏是我的救贖類:
class Redemption < ActiveRecord::Base
has_one :code
belongs_to :user
validates :code_id, :presence => true
validates :user_id, :presence => true
before_create :increment_points
def increment_points
self.user.increment(:points)
end
end
我想這一點,並沒有返回任何錯誤,它處理的贖回,但並沒有增加點...
想法?
說這樣做是爲了而是簡單地增加一個爆炸是更優雅。 –