gpt4 book ai didi

javascript - Javascript 中带 Ruby on Rails ENV 变量的 Stripe

转载 作者:数据小太阳 更新时间:2023-10-29 07:34:10 25 4
gpt4 key购买 nike

我不确定如何将可发布 key 放入我的 JavaScript 代码中。当我将可发布 key 的值直接放入 JavaScript 时,它工作正常。当我尝试使用环境变量时它不起作用。

配置/初始化程序/stripe.rb

Rails.configuration.stripe = {
:publishable_key => ENV['PUBLISHABLE_KEY'],
:secret_key => ENV['SECRET_KEY']
}

Stripe.api_key = Rails.configuration.stripe[:secret_key]

javascripts/charges.js.erb

Stripe.setPublishableKey(<%= Rails.configuration.stripe[:publishable_key] %>);

var stripeResponseHandler = function(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();
}
};

jQuery(function($) {
$('#payment-form').submit(function(e) {
var $form = $(this);


$form.find('button').prop('disabled', true);

Stripe.createToken($form, stripeResponseHandler);

return false;
});
});

最佳答案

不完全是解决方案,但我喜欢 Railscast 的方式 ( http://railscasts.com/episodes/288-billing-with-stripe ),它使用环境变量设置元标记,然后使用 Javascript 调用元标记中的值。您想要的位从大约 4 分 10 秒开始

<%= tag :meta, :name => "stripe-key", :content => STRIPE_PUBLIC_KEY %>

那么JS代码就是:

Stripe.setPublishableKey($('meta[name="stripe-key"]').attr('content'))

我不喜欢直接在 JS 中插入环境变量。

关于javascript - Javascript 中带 Ruby on Rails ENV 变量的 Stripe ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19895514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com