[英]How can I write this active record? (Rails 3.1)
我有三种模式:
如果我要遍历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。
编辑:这是模型关联:
您可以使用helper的find_or_initialize_。 我不会推荐find_or_create_by帮助程序,因为如果在创建时验证失败,它不会引发错误。
raw_coupon.each do |raw_coupon|
coupon = Coupon.find_or_initialize_by_store_id_and_coupon_code(raw_coupon.store_id, raw_coupon.coupon_code)
coupon.save! if coupon.new_record? #This just saves you from extra DB calls.
end
我用保存! 如果验证失败,则引发异常。 仅供参考
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.