2016-03-20 23 views
-1

raylar 4 +toplamı

Biraz arka plan kozaladiktan niteliklerini:

orders has_many order_products order_products has_many product_sizes

tüm ürünlerin toplam miktar almak istiyorum bir after_save görüşmesinde.adlı order_product modelinde bir veritabanı sütun var. Yani bu pic toplam 37.

Screen shot

sipariş formu

= f.simple_fields_for :order_products do |order_product| 
    = render 'order_product_fields', :f => order_product 
     = link_to_add_association 'Add Product', f, :order_products 

order_product_fields

= f.simple_fields_for :product_sizes do |product_size| 
     = render 'product_size_fields', :f => product_size 
     = link_to_add_association 'Add Size', f, :product_sizes 

product_size_fields olacağını

<div class="row nested-fields"> 
= f.input :size_name, :collection => Order::SIZES, label: false, include_blank: false 
= f.input :qty, label: false, class: "<%= product_sizes.index %>" 
= link_to_remove_association f, class: 'btn btn-danger' do 
    .glyphicon.glyphicon-remove 
</div> 

cevap

0

Derinlerde kazmaya ve beynime bir cevap bulmaya son verdim.

product_size.rb

def size_qty 
    qty 
    end 

order_product.rb

def total_size_qty 
    product_sizes.map do |ps| ps.size_qty end 
    end 

order.rb

def total_order_product_qty 
    order_products.map do |os| os.total_size_qty end 
end