我正在創建一個在線零售商店。如何創建服裝項目模型 - 不同尺寸的鞋子,襯衫,牛仔褲等
只是想知道你們有些專業人士會如何創建一個衣服模型。
問題 鞋子有不同的尺寸,如男士8,9,10,12等。襯衫有38,40,42胸圍。牛仔褲有32,34,36。禮服有大小6,8等。
如何有人去做一個服裝項目模型。所以當有人創建和項目時,他們首先點擊他們想要的類別。可以說鞋子,然後它會列出鞋子尺寸列表,然後您可以輸入每個鞋子尺碼的數量以及價格和其他所有屬性。
我正在創建一個在線零售商店。如何創建服裝項目模型 - 不同尺寸的鞋子,襯衫,牛仔褲等
只是想知道你們有些專業人士會如何創建一個衣服模型。
問題 鞋子有不同的尺寸,如男士8,9,10,12等。襯衫有38,40,42胸圍。牛仔褲有32,34,36。禮服有大小6,8等。
如何有人去做一個服裝項目模型。所以當有人創建和項目時,他們首先點擊他們想要的類別。可以說鞋子,然後它會列出鞋子尺寸列表,然後您可以輸入每個鞋子尺碼的數量以及價格和其他所有屬性。
您可以使用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
堆棧溢出是爲了提供*提供*具體的編程問題*,而不是提供設計指導。在這一點上,通過回顧面向對象設計的原則,注意「繼承」,「組合」和「聚合」這兩個術語,您將會得到最好的服務。 – MarsAtomic