【发布时间】:2012-03-27 22:14:47
【问题描述】:
在本地化货币环境中存储电子商务产品信息(即产品价格、当前价格)的最佳策略是什么?
我遇到了一个issue in Spree, an e-commerce engine for Ruby on Rails,关于使用本地化、分隔符、精确数字等显示货币。
但是,resolving the display of price became more complex, 当我们必须确定在数据库中存储的值是否应该包括本地化分隔符/精度数字或被规范化时。该解决方案涉及本地化值的显示以及潜在地标准化数据库中存储的值。但我不确定这是否是标准做法(清理数据以适应“标准”精度和分隔符或修改模型以采用“货币”字段并保持输入标准。
案例研究:
如果来自美国的产品(使用“en”本地化文件)定价为 2.99,则它在数据库中存储为 2.99。 如果该站点更新为针对德国进行本地化(使用“de”本地化文件),则价格为 2,99。 但是该价格(和 cost_price)值的更新应该存储为 2.99 还是 2,99?如果它们存储在 2.99 并且值从模型返回到视图,则本地化会将值修改为 2,99。
我不愿在他们不知情的情况下标准化用户输入。货币值标准化是正常的,还是应该改变模型以处理多货币格式?
需要注意的一个额外问题是,即使 Spree 引擎可以改变本地化,我认为它还不能根据用户需求翻转。所以我相信这在技术上不是一个“多货币”环境?我想选择一个可以扩展的选项。
相关问题:
【问题讨论】:
标签: ruby-on-rails database e-commerce currency spree