2015-08-31 20 views
0

我正在創建一個在線零售商店。如何創建服裝項目模型 - 不同尺寸的鞋子,襯衫,牛仔褲等

只是想知道你們有些專業人士會如何創建一個衣服模型。

問題 鞋子有不同的尺寸,如男士8,9,10,12等。襯衫有38,40,42胸圍。牛仔褲有32,34,36。禮服有大小6,8等。

如何有人去做一個服裝項目模型。所以當有人創建和項目時,他們首先點擊他們想要的類別。可以說鞋子,然後它會列出鞋子尺寸列表,然後您可以輸入每個鞋子尺碼的數量以及價格和其他所有屬性。

+0

堆棧溢出是爲了提供*提供*具體的編程問題*,而不是提供設計指導。在這一點上,通過回顧面向對象設計的原則,注意「繼承」,「組合」和「聚合」這兩個術語,您將會得到最好的服務。 – MarsAtomic

回答

2

您可以使用Polymorphic Associations找到您正在尋找的解決方案。對於你的情況如下圖所示

# Your Models 
    class CommonSize < ActiveRecord::Base 
     belongs_to :common_sizable, :polymorphic => true 
    end 

    class Shoe < ActiveRecord::Base 
     has_many :common_sizes, :as => :common_sizable 
    end 

    class Dress < ActiveRecord::Base 
     has_many :common_sizes, :as => :common_sizable 
    end 

    class Shirt < ActiveRecord::Base 
     has_many :common_sizes, :as => :common_sizable 
    end 

    # Your controllers 
    # shoes_controller 
    def create 
     shoe = Shoe.new(...) 
     shoe.common_size.build(...) 
     shoe.save 
    end 
    # Similarly create other controllers 

對於軌道認清多態關聯,你可以創建你的模型,你可以看到視頻http://railscasts.com/episodes/154-polymorphic-association

+0

由於'size'屬於Ruby Enumerator類,因此將模型作爲'CommonSize'而不是'size'調用。 – Rajuk

+0

謝謝你。這是真正的幫助! – joeyk16