Middleman と Snipcart を使用して、e コマース プロジェクトを開発しています。複数の通貨を使用する必要がありdata-item-price
ます{"usd": 20, "eur": 25}
。購入ボタンに付けるデータセットは他にもあるので、ヘルパーを作成することにしました。
このヘルパーは私が望むものを正確に返しますが、data-item-price は二重引用符の間であり、単一引用符の間ではありません。現時点では、コードは asdata-item-price="{"usd":20,"eur":22}"
と not as として理解されています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>
ます。
スニップカート (購入) ボタン ヘルパーは次のとおりです。
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