Haml 正在擦除 javascript

Haml is erasing javascript

我正在为条纹实现自定义表单。当我放入一张时,我收到一条错误消息,指出没有输入任何卡片。我检查了包含此 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 部分的方法吗?

必须按照文档缩进整个筛选块:

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

请注意,只有缩进的 JS 正在呈现。