2016-07-21 8 views
0

私は3つのモデルがあります。場所、製品、在庫。3つのモデルから値を取得し、構造を構築する方法

私は、各製品の各場所の在庫に関するレポートを作成しようとしています。

だから私はすべての場所

のための最善の方法はそれについて行く何という 製品数量 製品B数量B

てみませんか。この

場所のようなものを目指していますか?

モデル

class Product < ApplicationRecord 
    has_many :stocks, dependent: :destroy 
    has_many :locations, :through => :stocks 
end 

class Location < ApplicationRecord 
    has_many :stocks 
    has_many :products, :through => :stocks 
end 

class Stock < ApplicationRecord 
    belongs_to :location, optional: true 
    belongs_to :product, optional: true 
end 

答えて

1

ActiveRecordのあなたは、ドット表記法によって関連付けられたオブジェクトにアクセスすることができます。あなたの見解では、それぞれの場所をループし、関連する製品と在庫を表示することができます。

@locations.each do |l| 
    l.products.each do |p| 
     puts p.name 
    end 
    l.stocks.each do |s| 
     puts s.name 
    end 
end 

これを好みの表形式またはリスト形式にします。

関連する問題