метод сборки на ruby на рельсах

Новичок в rails, и я слежу за проектом Depot, найденным в веб-разработке Agile, с rails 3.1. Все было хорошо, пока я не заблудился, когда книга использовала метод «сборки».

@cart = current_cart
product = Product.find(params[:product_id])
@line_item = @cart.line_items.build(product: product)

Мои поиски в Google привели меня к пониманию, что метод .build - это просто более чистый способ создания строки в таблице (со связью между таблицами). Но в приведенном выше коде я ожидал, что код будет выглядеть примерно так:

@line_item = @cart.line_items.build(product_id => params[:product_id])

Я не понимаю, почему автору пришлось хранить весь ряд продуктов (product = Product.find (params [: product_id])) вместо того, чтобы просто получать product_id ...

Есть ли что-то большее, чем я могу понять?

Ответы на вопрос(2)

Ваш ответ на вопрос