sql - 具有不同货币/定价的 Rails 产品数据库
问题描述
我的 Rails 应用程序中有一个产品表,其中包含以下列:
table "products"
t.string "name"
t.text "description"
t.integer "price"
当我开发应用程序时,它只针对一个国家和单一货币。现在我想支持更多基于地理国家的货币,但是用我当前的数据库结构最好的方法是什么?
有人建议我使用 Money gem,但这只是货币兑换。我真正想要的是为不同的货币/国家手动设置不同的定价。
关于最好的方法有什么建议吗?
更新:我们不打算拥有超过 20 种产品,而且我们的定价有点高,所以我们不关心汇率 - 我们希望根据某些国家/地区的经济强劲程度制定不同的定价
解决方案
按照我的评论,我应该使用andprices
之间的连接表和has_many :through Association,如文档中所示。products
currencies
连接模型Price
具有列:
| product_id | currency_id | value |
Price
关系:
class Price < ApplicationRecord
belongs_to :product
belongs_to :currency
end
当然,模型Currency
是必需的,可以存储,名称,国家,符号,标志,...
推荐阅读
- mysql - 带有 docker-compose 端口的 MySQL 不适用于网络
- algorithm - 绘图的采样方法
- javascript - AngularJs 中的 3 个状态复选框
- r - ggplot2呈现地图的问题
- apache-spark - 如何确保 spark 结构化流处理 kafka 中的所有数据
- javascript - 具有存储功能的克隆对象
- android - 将 id 移动到样式文件时如何使用数据绑定?
- python - 如何使用 Python SQL“UPDATE”语句更新需要从下拉菜单中选择的 MS Access MySQL 表字段?
- security - 访问令牌有多安全?
- sql-server - 如果记录存在,则在插入存储过程中调用更新存储过程