모범 사례를 찾고 있습니다. 시나리오는 다음과 같습니다.하나의 컨트롤러 동작에서 모델을 여러 번 업데이트하십시오.
고객은 양식에서 하나 이상의 위젯을 지불 할 수 있습니다. 따라서 Payments 모델과 Widgets 모델이 있습니다. 이들 간에는 연관이 없습니다 (지불은 고객과 연관되어 있음). 이것을 처리하는 가장 좋은 방법은 무엇입니까? 나는 지불 컨트롤러에서
을 할 수있는 :
def create
@customer = Customer.find(params[:customer_id])
if @customer.payments.create!(params[:payment])
how-many-widgets = params[:payment][:number].to_i
while how-many-widgets > 0
widget = Widgets.new
... update widget ...
widget.save!
how-many-widgets = how-many-widgets - 1
end
end
redirect_to @customer
end
이이 작업을 수행하는 가장 좋은 방법이 있나요? 아니면 좀 더 우아한 해결책이 있습니까?
우수. 감사. – thermans