我正在尝试实施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文件中成功运行的东西?
答案 0 :(得分:1)
手动完成并深入了解coffeescript和js之间的差异是非常好的做法。
我通常会变懒,只需使用js2coffee。
可能有一些 要在视图中运行的部分,但这些部分通常非常明显,因为它们依赖于Rails服务器知道的密钥或其他东西,但js文件不会#39 ; t可以访问。