我正在使用 Middleman 和 Snipcart 开发一个电子商务项目。我需要使用多币种,Snipcart 文档说我只需要在我的购买按钮 adata-item-price
中设置一个 JSON 数组,例如{"usd": 20, "eur": 25}
. 还有其他数据集可以放在购买按钮上,所以我决定做一个帮手。
这个助手返回的正是我想要的,但是 data-item-price 在双引号之间而不是在单引号之间。目前,代码被理解为data-item-price="{"usd":20,"eur":22}"
而不是data-item-price='{"usd": 20, "eur": 22}'
我需要<button data-item-price="{"usd":20,"eur":22}">Buy</button>
通过这个来改造<button data-item-price='{"usd":20,"eur":22}'>Buy</button>
。
这是 snipcart(购买)按钮助手:
def snipcart_button (p, text)
args = {
"class" => "snipcart-add-item",
"data-item-id" => p.id,
"data-item-price" => p.price.to_json,
"data-item-name" => p[locale].name,
"data-item-max-quantity" => p.max_quantity,
"data-item-url" => snipcart_product_url(p),
"data-item-image" => p.image
}
content_tag :button, args do
text
end
end