Ruby on rails 电子商务平台中的项目定制
我正在Rails中为餐馆构建一个简单的电子商务平台,以方便在线订购。我想做的是让一家Ruby on rails 电子商务平台中的项目定制,ruby-on-rails,ruby,activerecord,e-commerce,Ruby On Rails,Ruby,Activerecord,E Commerce,我正在Rails中为餐馆构建一个简单的电子商务平台,以方便在线订购。我想做的是让一家餐厅独立定制其项目。例如,所述餐厅可能想要将大小添加到一个项目,对不同的大小收取额外费用,或将风味添加到另一个项目,或任何任意属性;此外,不同的项目不一定具有相同的属性。所以基本上,我想让餐馆在创建项目时添加自定义字段 实现这一目标的最佳方法是什么 谢谢。试着看看,比如使用Postgres 9.2+作为数据库后端,您可以轻松实现您的目标 启用(这也可以通过SQL完成) 然后你就可以创建记录了,比如 i1 = It
餐厅
独立定制其项目
。例如,所述餐厅可能想要将大小
添加到一个项目
,对不同的大小收取额外费用,或将风味
添加到另一个项目
,或任何任意属性;此外,不同的项目不一定具有相同的属性。所以基本上,我想让餐馆在创建项目时添加自定义字段
实现这一目标的最佳方法是什么
谢谢。试着看看,比如使用Postgres 9.2+作为数据库后端,您可以轻松实现您的目标 启用(这也可以通过SQL完成) 然后你就可以创建记录了,比如
i1 = Item.new
i1.name = 'foo'
i1.type = 'salad'
i1.extras = { size: 'big', vegan: 'yes' }
i1.save
i2 = Item.new
i2.name = 'bar'
i2.type = 'snack'
i2.extras = { flavor: 'mexicana', kosher: 'yes' }
i2.save
质疑
# Items having flavor
Item.where("extras ? :key", key: "flavor")
# Items classified as kosher
Item.where("extras @> hstore(:key, :value)",
key: "kosher", value: "yes"
)
顺便说一句,postgres还有json和jsonb列类型,用于在数据库中存储文档。它们也可能有用-
i1 = Item.new
i1.name = 'foo'
i1.type = 'salad'
i1.extras = { size: 'big', vegan: 'yes' }
i1.save
i2 = Item.new
i2.name = 'bar'
i2.type = 'snack'
i2.extras = { flavor: 'mexicana', kosher: 'yes' }
i2.save
# Items having flavor
Item.where("extras ? :key", key: "flavor")
# Items classified as kosher
Item.where("extras @> hstore(:key, :value)",
key: "kosher", value: "yes"
)