我的Rails应用程序中有一个产品表,其中包含以下列:
table "products"
t.string "name"
t.text "description"
t.integer "price"
当我开发应用程序时,它只适用于单个国家和单一货币。现在我想支持更多基于地理国家/地区的货币,但使用我当前的数据库结构的最佳方法是什么?
建议我使用Money gem,但这只是换钱。我真正想要的是为不同的货币/国家手动设置不同的定价。
有关最佳方法的任何建议吗?
更新:我们不打算拥有超过20种产品,而且我们的定价略高,所以我们不关心汇率 - 我们希望根据具体情况定价不同某些国家的经济强劲
答案 0 :(得分:1)
在我发表评论之后,我应该使用prices
和products
之间的联接表currencies
,并使用the has_many :through Association,如文档所示。
联接模型Price
包含列:
| product_id | currency_id | value |
Price
关系:
class Price < ApplicationRecord
belongs_to :product
belongs_to :currency
end
当然,模型Currency
是必需的,它可以存储,名称,国家/地区,符号,标志,...
答案 1 :(得分:0)
尝试使用Globalize gem来支持多语言/地区/货币的内容。 https://github.com/globalize/globalize