2016-10-05 25 views
0

ジャンクションに一連のデータを挿入しようとしています。私は作成されたすべての新しいマーチャントにデフォルトのセットの商品を設定できるようにしたい、そして、マーチャントは、彼らのニーズに基づいて価格の可用性などを設定するオプションを持っています。ジャンクション・テーブルにデータを挿入します。

私は、現在のメソッドを持っているが、私は取得しています

def add_products 
    @product = Product.all 
    @product.each do |product| 
    @merchant = MerchantProducts.create!(product_id: product.id, merchant_id: self.id) 
    end 
end 

問題は、モデル・コードなしで

uninitialized constant Merchant::MerchantProducts 
+0

は 'DEF add_products @product = Product.all @ product.each行うとしてみてくださいホープ製品を保存| @merchant = :: MerchantProducts.create!(product_id:product.id、merchant_id:self.id)end end'(ここで '@ merchant'の値を割り当てる必要はありません) –

答えて

0

下回って定義し、私はあなたががおり、多くの協会に属していると仮定します。あなたは直接ので、あなたが何ができるか、あなたのアプリケーションロジックに従って商人をフェッチなどの製品にそれを割り当て、ある代わりに、それはproductsmerchants間の結合テーブルがあり、Railsのモデルないthatsのため、MerchantProducts上の任意の操作を実行するカント製品|

def add_products 
    @product = Product.all 
    @product.each do |product| 
    @merchant = #logic here to fetch the merchant 
    product.merchants << @merchant 
    # you will need to save the product in order to create a new record 
    # in the join table 
    end 
end 

はそれが

関連する問題