2016-06-25 39 views
0

我想通过我的Rails应用程序,我测试了我的第一个测试订单,但我得到一个NoMethodError - 未定义的方法`条纹'为#,确切这是导致它在我的表单文件中的JS代码片段。未定义的方法`条纹'的#<Rails

编辑:添加错误的截图,改变Rails.configuration.stripe到Rails.application.secrets让页面加载,但结账时抛出另一个错误(截图也附后)

error screenshot publishable error

<script> 
 
    var handler = StripeCheckout.configure({ 
 
    key: '<%= Rails.configuration.stripe[:publishable_key] %>', 
 
    token: function(token, arg) { 
 
     document.getElementById("stripeToken").value = token.id; 
 
     document.getElementById("stripeEmail").value = token.email; 
 
     document.getElementById("chargeForm").submit(); 
 
    } 
 
    }); 
 

 
document.getElementById('btn-order').addEventListener('click', function(e) { 
 
    var quantity = $('#quantity').val(); 
 
    var total_price = (quantity * "<%= @meal.price %>") + "00"; 
 
    $('#total_price').val(total_price); 
 
    handler.open({ 
 
    name: "Sixerr", 
 
    description: "<%= @meal.title %>", 
 
    amount: total_price 
 
    }); 
 
    e.preventDefault(); 
 
}); < /script>

这里是我的stripe.rb文件

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

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

有几个其他的答案,但他们都不似乎解决这个问题,在这里得到任何帮助。

+0

您的初始化程序文件夹中是否包含stripe.rb文件?你添加它后重新启动你的网络服务器吗? – danielrsmith

+0

也可以添加完整的错误堆栈? –

+0

@danielrsmith这是完全它的圣洁废话,非常感谢你! –

回答

2

您需要确保您的stripe.rb文件位于config/initializers文件夹中,一旦完成,您需要重新启动Web服务器,以便可以加载初始化程序。

相关问题