0

我正在使用 Rails 创建一个婴儿鹳派对/婴儿送礼会礼物注册表应用程序,蜜蜂妈妈创建一个注册表,其他朋友可以提名礼物等。

我正在使用 Rails,在学习了几本 Rails 书籍后,我进入了中级阶段。问题是我不知道如何创建一个固定的婴儿注册表,妈妈可以在每个产品类别旁边选择数量、颜色、品牌并保存。

我创建了模型注册表和列的数量、品牌、颜色等。过了一会儿,我认为这将不起作用,因为如何为这些列命名每个类别(行)并使其保持固定(在某种意义上)并几乎分开像表格?几乎感觉我需要为每个类别创建一个单独的模型,但这不是最有效的方法吗?

这真的很难解释,但我被卡住或错过了什么?

4

1 回答 1

0

听起来您正在描述注册表项和特征之间的多对多关系。所以一个项目可以有很多特征(颜色、质量、品牌),一个特征可以有很多项目(所以你可以通过颜色、质量等找到所有项目)。

查看:

http://guides.rubyonrails.org/association_basics.html#the-has_and_belongs_to_many-association

class Color
  has_and_belongs_to_many :items
end

class Items
  has_and_belongs_to_many :colors
end

将允许您执行以下操作:

item = Item.find 1
color = Color.find_by_name 'blue'
item.colors << color

# all the items for a color
color.items    # item 1

# all the colors for an item
item.colors    # blue

构建您的表单以支持这一点需要一些工作,我建议在谷歌上搜索示例。

于 2012-05-10T15:40:00.030 回答