我有一个自定义助手方法,它输出保存的百分比。例如,它将计算一个项目的折扣,并输出"20 %折扣“。
我是本地化的网站中文,并在中文同样的折扣是不同的表示。"20%折扣“表示为"8削减”或"80%原价“。由于这两个表达式非常不同,我认为我需要编写助手方法的两个版本。
目前,我这样写它,检查助手本身中的区域设置:
def percent_off(discount, locale=I18n.locale)
if not locale.to_s.include?('zh')
n = ((1 - (discount.pref
发票项目和整个发票的折扣应该是负线项目还是发票的单独属性?
在类似的问题中,,询问者更多地关注订单而不是发票(这是一个稍微不同的业务实体)。建议将折扣与订单项目分开,因为折扣不等同于费用或产品,而且可能有不同的报告要求。因此,折扣不应该仅仅是一个负行项目。
在此之前,我曾成功地使用负线项目来明确地表示和计算折扣,但从业务角度来看,这是不灵活和不准确的。现在我选择在每一个项目上加上折扣,连同发票范围内的折扣。
是这样做的吗?每个项目都应该有自己的折扣金额和百分比吗?
域模型代码示例
这就是我的域模型(映射到SQL存储库)的样子:
public class Invoice
{
public