2017-04-21 82 views
-1

如何爲具有多種不同尺寸的產品設置DRY數據庫,並且每個單獨產品的價格與所有其他產品的價格不同並且取決於其尺寸?如何分享不會改變該點的尺寸,以便在相同尺寸下的價格不同?

例子:

那不勒斯(小$ 9.95),(中等$ 10.95),(大$ 11.95),(X-大$ 13.50),(XX-大$ 29.95)

素食的夢想比薩(小$ 13.50) (中等$ 15.50)(大$ 17.50)

夏威夷披薩(小$ 11.95)(中等$ 13.50)(大$ 14.95)

所以一個管理員把一個那不勒斯比薩餅在他們的數據庫,他們將鍵入的名字項目,然後從下拉菜單中選擇第一個尺寸a nd增加它的價格,然後能夠增加5個尺寸和相應的價格,而不必重寫那不勒斯比薩5次。這些尺寸都將被引用回那不勒斯比薩,你將能夠發現不同尺寸的那不勒斯比薩的價格。此外,素食和夏威夷比薩將能夠重新使用大小有限的選項,並按大小搜索價格。

顧客將能夠看到那不勒斯比薩及其六種尺寸的列表,只需點擊一張即可添加到購物車中。

我不是問如何做下拉或任何前端只是一種乾的方式來設置數據庫。

我之前問過這個問題,但沒有得到答覆。我仍然在努力尋找解決這個問題的方法。這是我以前的question

回答

0

如何將帶有json數據類型的列添加到比薩餅模型中,其中鍵的大小和價格與值一樣?

+0

喜歡這個:'Product.create(name:「Neapolitan」,sizes:{small:「9.95」,medium:「10.95」,large:「11.95」,xlarge:「13.50」,xxlarge:「29.95」} )'?如果這就是你的意思,是否有辦法讓這些鍵成爲創建任何產品之前選擇的唯一選項? – Lenocam

+0

初始化一個可以在表單中用於管理的常量鍵/大小數組,並凍結像VARIANTS = ['small','medium','large','xlarge','xxlarge']這樣的可用變體。凍結「並循環以從表單中獲取值。 –