Haml正在删除javascript

时间:2016-01-13 16:34:15

标签: javascript haml

我正在为条带实现自定义表单。我收到一条错误,说明当我放入卡片时没有卡片输入。我检查了包含此javascript的当前文件:

:javascript
Stripe.setPublishableKey('pk_test_key');
$('#payment-form').submit(function(event) {
  var form = $(this);
  form.find('button').prop('disabled', true);
  Stripe.createToken(form, stripeResponseHandler);
  return false;
});
function stripeResponseHandler(status, response) {
  var form = $('#payment-form');
  if (response.error) {
    form.find('.payment-errors').text(response.error.message);
    form.find('button').prop('disabled', false);
  } else {
    var token = response.id;
    form.append($('<input type="hidden" name="stripeToken">').val(token));
    form.get(0).submit();
  }

但是当我看到浏览器中实际形成的javascript时,我看到的是:

var form = $(this);
          form.find('button').prop('disabled', true);
          Stripe.createToken(form, stripeResponseHandler);
          return false;


          var form = $('#payment-form');
          if (response.error) {
            form.find('.payment-errors').text(response.error.message);
            form.find('button').prop('disabled', false);
          } else {
            var token = response.id;
            form.append($('<input type="hidden" name="stripeToken">').val(token));
            form.get(0).submit();
          }

我联系了条纹支持,并说我的javascript是正确的,但是当它通过haml呈现时,它出错了。有没有人知道如何阻止haml删除我的javascript部分?

1 个答案:

答案 0 :(得分:1)

整个过滤的块必须按照文档缩进:

http://haml.info/docs/yardoc/file.REFERENCE.html#filters

请注意,只渲染缩进的JS。