如何将其转换为适合.js.coffee的jQuery格式

时间:2015-01-12 21:49:14

标签: javascript ruby-on-rails coffeescript

我正在尝试实施Stripe,他们在文档中列出了这些代码:

<script>
 Stripe.setPublishableKey('pk_test_key');

 jQuery(function($) {
  $('#new_subscription').submit(function(event) {
   var $form = $(this);

  // Disable the submit button to prevent repeated clicks
  $form.find('input[type="submit"]').prop('disabled', true);

 Stripe.card.createToken($form, stripeResponseHandler);

// Prevent the form from submitting with the default action
return false;
});
});

function stripeResponseHandler(status, response) {
 var $form = $('#new_subscription');

 if (response.error) {
 // Show the errors on the form
 $form.find('.payment-errors').text(response.error.message);
 $form.find('input[type="submit"]').prop('disabled', false);
  }  else {
 // response contains id and card, which contains additional card details
 var token = response.id;
 // Insert the token into the form so it gets submitted to the server
 $form.append($('<input type="hidden" name="stripeToken" />').val(token));
 // and submit
 $form.get(0).submit();
 }
};
</script>

但是我希望能够将其移出视图并进入javascript文件。很多人都知道rails javascript文件使用coffeescript。所以我想知道如何将其转换成可以在js.coffee文件中成功运行的东西?

1 个答案:

答案 0 :(得分:1)

手动完成并深入了解coffeescript和js之间的差异是非常好的做法。

我通常会变懒,只需使用js2coffee

可能有一些 要在视图中运行的部分,但这些部分通常非常明显,因为它们依赖于Rails服务器知道的密钥或其他东西,但js文件不会#39 ; t可以访问。