0

我正在尝试在 Rails 中构建一个很好的健壮系统来创建产品。在顶层,我有非常通用的产品(例如 T 恤)。每个产品都可以有无限的期权类型(大小、颜色),而期权类型又可以有无限的期权值(小、中、大;红、蓝、绿)。

我设置了我的模型,以便产品有很多选项类型,而选项类型有很多选项值。

我被困的地方是如何构建零件编号。零件编号是根据给定产品的选定选项类型/值创建的单个值。例如,TSHIRT-LG 可能是选择了“尺寸:大”和“颜色:绿色”的 T 恤的部件号。

我想到目前为止我的策略是将零件编号与产品和选项值相关联。在后端,管理员应该通过选择属于某个产品的选项类型的选项值组合来创建零件编号。在前端,用户应该能够选择他们喜欢的选项,然后根据他们的选择看到正确的零件编号。我基于http://railscasts.com/episodes/196-nested-model-form-revised使用嵌套模型创建了一个产品表单。创建选项不是问题,但我一直坚持如何构建表单以根据选项值创建零件编号。我想做下拉菜单来选择现有的选项值,但我就是想不通让它工作。

4

2 回答 2

2

首先,您需要确定您希望如何准确地对零件编号进行编码,以及您想要采用哪些属性来创建零件编号以及您希望它们看起来像什么。

例如 TSHIRT-XLG-MP-001

有一个名为 part_no 的字段,并且作为管理员创建项目

before_save: create_part_no
validates_uniqueness_of :part_no

def create_part_no
  name + '-' + size + '-' + gender+ '-' + id
end

如果您希望管理员可以更改它,请删除 before_save 和

<%= f.text_field :part_no, default => :create_part_no %>

可能需要一些 ajax

于 2012-11-09T15:32:21.467 回答
1

Ryan 在动态选择菜单上也有一个较旧但很棒的屏幕投射:http ://railscasts.com/episodes/88-dynamic-select-menus

也许它有帮助!

于 2012-11-08T23:39:23.217 回答