我正在构建我的第一个rails应用程序,这是我第一次处理这种复杂程度的应用程序,我想知道设计数据库的最有效/最好的方法。
我有“东西”,每个“东西”都有价格和许多图像。
拥有A:
会更好吗?一个包含3列的表 - id,price,images(是一个数组或散列存储属性,如width / height,url等)。
或者有B:
两个表,一个用于“事物”,一个用于“图像”,图像列是各种属性?然后让图像属于“事物”
由于
答案 0 :(得分:1)
您绝对应该选择B.尽管与images
相关联,但您将things
作为单独的存在。维护和扩展它将更加简单。
答案 1 :(得分:0)
与B一起去。最重要的是检查这些Gems处理图像:
https://github.com/thoughtbot/paperclip
https://github.com/carrierwaveuploader/carrierwave
观看这些RailsCasts以获取有关如何使用它们的信息:
http://railscasts.com/episodes/134-paperclip
http://railscasts.com/episodes/253-carrierwave-file-uploads
您希望从“事物”到图像之间存在一对多关联,请在此处详细了解如何执行此操作:
http://guides.rubyonrails.org/association_basics.html#the-has-many-association
不要忘记将价格存放在便士中! :)