我有三個型號:我該如何寫這個活動記錄? (Rails的3.1)
- raw_coupon
- 優惠券
- 店
如果我通過循環raw_coupons,我怎樣才能將其保存爲僅在優惠券該商店不存在相同的coupon_code?這裏是代碼,使之更加清晰:
raw_coupon.each do |raw_coupon|
coupon = Coupon.new
coupon.store_id = raw_coupon.store_id
coupon.coupon_code = raw_coupon.coupon_code
coupon.save if [coupon_code for this store doesn't already exist]
end
我如何寫出來的[COUPON_CODE此店不存在]
注:超過一個店可以使用相同的優惠券代碼,因此我需要檢查該商店是否存在相同的coupon_code。
編輯:這裏是模型關聯:
- raw_coupon:HAS_ONE:優惠券
- 優惠券:belongs_to的:raw_coupon & & belongs_to的:店面
- 店:的has_many:優惠券
那麼nil呢?商店可以在coupon_code爲零的系統中擁有多個優惠券。 – Hopstream
@Hopstream:沒有代碼的優惠券?聽起來很奇怪,但是對於這個選項有[':allow_nil'](http://guides.rubyonrails.org/active_record_validations_callbacks.html#allow_nil)選項,並且在唯一索引中允許有多個NULL。 –
有沒有一種方法可以在條件中做到這一點(因爲否則使用驗證,它總是會引發錯誤) - 並且處理數千個這樣的優惠券將導致數千個錯誤。 – Hopstream