2011-09-18 112 views
0

我正在嘗試在rails中創建一個銷售點應用程序Rails has_many:通過

現在我有一個項目模型。商品模型包含商店攜帶的每個不同商品。

現在我想創建訂單模型。這個想法是,這個模型將包含每個訂單的項目和數量。我將能夠查看訂單的歷史記錄以生成分析等。

什麼是正確的方法?

has_many:through? Redis集? 其他想法?

回答

1

典型的方法是使用OrderLine模型。這是您要存儲每個訂購項目數量的地方。

class Order 
    has_many :order_lines 
    has_many :items, :through => :order_lines 
end 

class OrderLine 
    belongs_to :order 
    belongs_to :item 
end 
+0

你能詳細解釋一下嗎? – Alex

+0

謝謝。我需要在訂單行上使用遷移和/或attr_accessible變量嗎? – Alex

+0

您需要遷移才能創建OrderLine模型。請注意,它應該在Order類的單獨文件中,爲了方便起見,我只是將它們組合在一起。至於attr_accessible,它取決於你如何編寫控制器代碼。 –