我正在构建我的第一个 Rails 应用程序,这是我第一次处理这种复杂程度的任何应用程序,我想知道设计数据库的最有效/最佳方式。
我有“东西”,每个“东西”都有价格和一些图像。
有A会更好:
具有 3 列的单个表 - id、价格、图像(作为数组或哈希存储属性,例如宽度/高度、url 等)。
或者有 B:
两张表,一张用于“事物”,一张用于“图像”,图像列是各种属性?然后让图像属于“事物”
谢谢
我正在构建我的第一个 Rails 应用程序,这是我第一次处理这种复杂程度的任何应用程序,我想知道设计数据库的最有效/最佳方式。
我有“东西”,每个“东西”都有价格和一些图像。
有A会更好:
具有 3 列的单个表 - id、价格、图像(作为数组或哈希存储属性,例如宽度/高度、url 等)。
或者有 B:
两张表,一张用于“事物”,一张用于“图像”,图像列是各种属性?然后让图像属于“事物”
谢谢
您绝对应该选择 B。images
尽管与things
. 维护和扩展它会简单得多。
与 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
并且不要忘记以便士存储您的价格!:)