Rails产品数据库具有不同的货币/定价

时间:2018-06-08 06:50:53

标签: sql ruby-on-rails currency

我的Rails应用程序中有一个产品表,其中包含以下列:

table "products"
t.string   "name"
t.text     "description"
t.integer  "price"

当我开发应用程序时,它只适用于单个国家和单一货币。现在我想支持更多基于地理国家/地区的货币,但使用我当前的数据库结构的最佳方法是什么?

建议我使用Money gem,但这只是换钱。我真正想要的是为不同的货币/国家手动设置不同的定价。

有关最佳方法的任何建议吗?

更新:我们不打算拥有超过20种产品,而且我们的定价略高,所以我们不关心汇率 - 我们希望根据具体情况定价不同某些国家的经济强劲

2 个答案:

答案 0 :(得分:1)

在我发表评论之后,我应该使用pricesproducts之间的联接表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