2016-09-03 24 views
0

私は請求書アプリケーションを構築していますが、_form部分には数量、説明、単価などの商品を追加できる請求書があります。また、ユーザーは追加の行を追加してアイテム(商品)を追加できます。今未定義のメソッドActiveRecord_Associations_CollectionProxy [rails]

私はこのようなショービューでその情報を表示しよう:これは、コントローラのコードである

undefined method `quantity' for #<Product::ActiveRecord_Associations_CollectionProxy:0x007fbe92831500> 

;:

<tbody> 
    <tr class="products_tr"> 
     <td> <%= @invoice.products.quantity %> </td> 
     <td> <%= @invoice.products.description %> </td> 
     <td> <%= @invoice.products.unitprice %> </td> 
     <td class="row_total"><%= @invoice.products.quantity * @invoice.products.unitprice %></td> 
     <td> <%= @invoice.products.btw %> </td> 
    </tr> 
    </tbody> 

それは次のエラーを与えます

def show 
    @invoice.products.build 
    @invoice.build_customer 
    end 

これを修正する方法はありますか?助けていただければ幸いです。また、私が間違っていることを正確に説明するためのプラスの点もあります。

EDIT

のMichałMłoźniakのような@のinvoice.productsからiループはそれが動作すると述べている場合しかし、それはまた、このように、ゼロが含まれている余分な行を示しています enter image description here

答えて

1

請求書には多くの製品が含まれている可能性があるので、この製品リストを繰り返し処理するにはループが必要です。

+0

私はこれも同様に考えていましたが、うまくいきましたが、それにもゼロを含む余分な行があります。元の投稿の画像を参照してください。 – luissimo

+1

@luissimo [OK]をクリックして、さらに 'product.persisted? 'チェックを追加しました。これにより、すでにデータベースに保存されている製品のみが表示されます。 –

0

あなた@invoice.productsがAであなたがそのコレクション内の各オブジェクトにquantityを呼び出す必要があります。

関連する問題