2009-11-18 4 views
0
<% @pid = item.producto_id %> 
<br/> 

Producto: <%= Producto.find_by_id(@pid) %><br/> 
Costo de Compra: <%= @costo_de_compra = Producto.find(:all, :conditions => "id = '#{@pid}'").*.costo_de_compra %><br/> 
Precio de venta: <%= @precio_de_venta = item.precio_de_venta %><br/> 
Utilidad de este producto: <%= @precio_de_venta - @costo_de_compra %><br/><br/> 
<% end %> 

и в моем контроллере я есть =значения Сумма петли

@ventas_ocurridas_en_este_periodo = Venta.find(:all, :conditions => ['created_at >= ? and created_at <= ?', Date.today.beginning_of_month, Date.tomorrow]) 

Как я зацикливание и получать значения из элементов, которые не доступны изначально, как я могу суммировать все значения которые выходят из этого цикла в концентрацию?

Также я не могу сделать операцию @precio_de_venta - @costo_de_compra ... что-то о массивах.

ответ

5

Я вижу несколько проблем с вашим кодом. Во-первых, вам следует избегать использования столбцов id напрямую. В конце концов, именно поэтому вы поместили все эти belongs_to и has_many отношения в свои модели. Например, то, что вы называете предметом, является вентиляционным или продаваемым объектом, а оно belongs_to. Продукт включает в себя столбец с именем product_id. Таким образом, вы можете использовать

item.product 

вместо

@pid = item.producto_id 
Product.find_by_id(@pid) 

не говоря уже о том, что find_by_id можно заменить просто обычные find.

Для добавления и нахождения итогов я рекомендую ознакомиться с функцией рубинов inject.

@costo_de_compra - массив, который исходит от find(:all) вместо find(:first). Я не уверен, что делают ваши .*..

Смежные вопросы