사용자가 추적 번호를 구매할 수있는 응용 프로그램을 구축 중입니다. 주문 모델과 주문 거래 모델이 있습니다. Order Transaction이 성공적으로 게이트웨이에서 리턴되면, after_save 콜백을 사용하여 추적 번호를 생성하고이를 데이터베이스에 삽입하는 메소드를 트리거합니다. 때로는 사용자가 하나를 주문하는 경우도 있지만, 둘 이상의 주문을하는 경우 레일을 만들어서 둘 이상의 레코드를 만들고 삽입 할 수없는 것처럼 보일 수 있습니다.레일에 여러 레코드를 만드는 while 루프
다음은 내가 사용하고있는 것입니다. 나는 이런 루프를 사용자에게 제공하지 않았으므로 내가 잘못하고있는 것이 확실하지 않습니다. trackable
에
def create_trackables
if self.success == true
@order = Order.find(order_id)
@start = 0
while @start < @order.total_tokens
@trackable_token = Tracker.create_trackable_token
@start += 1
@trackable ||= Tracker.new(
:user_id => @current_user,
:token => @trackable_token,
:order_id => order_id
)
@trackable.save
end
end
end
맞음 - 완전히 빠졌습니다. –
그것은'|| ='- 감사합니다! – Slick23
조금 늦었지 만 창조를 빠르게하는 마술 적 트릭을 새로 발견했습니다. "def create_trackables .... Tracker.transaction do ... * code * ... Tracker.create (something) ... end – Automatico