当我公司的银行账户收到付款时,我们的应用程序会触发一个webhook,提供与付款相关的数据,包括付款标签.
此标签是由客户端编写的字符串,在不同的实例之间可能会有很大差异.我们通常提供要包括在标签中的对客户的引用,以便我们能够识别它.引用模式符合以下正则表达式:/\A[a-zA-Z]{2,5}-?\d{4}-?\d{2}-?\d{4}\z/
.例如:"ABCDE-2023-01-0001"
或"ab-2023-01-0001"
等.
另外,我还有一台Invoice
型的,有两根柱子:number
和moneyin_key
.number
值通常遵循以下格式:ABCDE-2023-01-0001
和moneyin_key
值相同,但没有连字符,如"ABCDE2023010001"
.
我想创建一个范围来检索与客户提供的标签相关的所有发票.正如前面提到的,标签可以有很大的不同,但这里有一个例子:"VIR. O/ JUMBO VISMA MOTIF: EDP2023100001"
我的范围应该 struct 如下:
scope :related_to_payment_label, -> (label) { do_something_here }
我try 了几种方法,但都没有成功.示例:
scope :related_to_payment_label, -> (label) {
where("number ILIKE :label OR moneyin_key ILIKE :label", label: "%#{label}%")
}
有什么主意吗?