전자 상거래 프로젝트를 개발하기 위해 중개인과 Snipcart를 사용하고 있습니다. Snipcart 문서에서는 복수 통화를 사용해야하며 과 같은 JSON 배열로 구매 버튼을 설정해야한다고 말합니다. 구매 버튼을 추가하는 데는 다른 데이터 세트가 있으므로 헬퍼를 만들기로했습니다.작은 따옴표로 큰 따옴표 문자열 바꾸기
이 도우미는 원하는대로 정확하게 반환하지만 데이터 항목 가격은 큰 따옴표 사이이며 작은 따옴표 사이가 아닙니다. 순간을 위해, 코드는 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>
을 변환 할 필요가있다. https://apidock.com/rails/ActionView/Helpers/JavaScriptHelper/escape_javascript
이 단일 및 이중 따옴표를 이스케이프합니다
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
는 = j' 도우미 (또는'escape_javascript'가)'데이터 항목 가격을 반환' "{\"달러 \ "를 사용 : 20 , \ "eur \": 22} ", Snipcart는 더 이상 이해하지 못합니다. 콘솔에 'Uncaught SyntaxError : JSON의 예상치 못한 토큰 N'오류가 표시됩니다. –
'data-item-price = "{\"usd \ ": 20, \"eur \ ": 22}"이제는 유효한 json 속성이어야합니다. 어쩌면 오류가 수신 측에 있습니까? –
또한 출력 문자열에 오류 메시지가 나타내는 'N'이 없습니다. 어쩌면 그 오류가 지금 다른 어떤 것으로부터 온 것일 수 있습니까? –