我有一个 Shopify ruby 代码,当使用有效代码时,它基本上会在结账时触发价格折扣。我使用脚本而不是普通的 Shopify 折扣,因为我需要在达到最大购物篮总额时手动限制折扣总额。
当我需要将折扣脚本与我的优惠券代码相匹配时,问题就出现了,因为我使用了 10000 个具有相同前缀的批量代码(设置为 0% 折扣)并且我不能使用运算符 contain,它只能与 == 一起使用,这是完全匹配的。
这限制了我的脚本只能理解一个优惠券代码,我希望系统只考虑购物篮中引入的代码的前缀,以便所有批量折扣都可以触发其余的 ruby 代码
工作示例:
if Input.cart.discount_code and Input.cart.discount_code.code == "TEST"
示例不起作用:
if Input.cart.discount_code and Input.cart.discount_code.code contains "TEST"
第一个代码工作完美,但第二个代码触发生产错误。
是不是因为Input.cart.discount_code 和 Input.cart.discount_code.code 不是字符串值,因此 运算符(operator)不理解?
我可以先将值转换为字符串,然后使用包含运算符吗?
最佳答案
Ruby 没有 contains
运算符,但它有 include?
解决您问题的方法:
if Input.cart.discount_code and Input.cart.discount_code.code.include? "TEST"
...
end
关于ruby - 在 Shopify Ruby 中使用 "contain"运算符来处理 cart.discount_code - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72447322/