【问题标题】:Stripe Integration not being recognised in Rails project条纹集成在 Rails 项目中未被识别
【发布时间】:2019-12-31 15:40:47
【问题描述】:

我正在尝试将 Stripe 集成到我的项目中,但似乎得到了一个

订单中的 NoMethodError#new undefined method `[ ]' for nil:NilClass" 错误。

我不知道如何解决这个问题。有人可以帮忙吗?

这是我在 new.html.erb 中的 Stripe 脚本

<script>
  var stripe = Stripe("<%= Rails.application.credentials.stripe[Rails.env.to_sym][:stripe_secret_key] %>")

  var elements = stripe.elements()
  var card = elements.create("card")
  card.mount("#card")
</script>

这就是我的凭据代码的样子

stripe:
  development:
    stripe_public_key: xxxxxxxxxxxxxxxxxx
    stripe_secret_key: xxxxxxxxxxxxxxxxxx

  test:
    stripe_public_key: xxxxxxxxxxxxxxxxxx
    stripe_secret_key: xxxxxxxxxxxxxxxxxx

  production:
    stripe_public_key: xxxxxxxxxxxxxxxxxx
    stripe_secret_key: xxxxxxxxxxxxxxxxxx

【问题讨论】:

  • 错误信息表示Rails.application.credentials.stripe 为nil 或Rails.application.credentials.stripe[Rails.env.to_sym] 为nil
  • 在 Rails 控制台中尝试它们并确保它们都返回值,当您找到不知道要修复什么的那个时
  • 对不起新手,如何在 Rails 控制台中查看?
  • 好的,我已经完成了 rails c 并添加了 Rails.application.credentials.stripeRails.application.credentials.stripe[Rails.env.to_sym],但他们都没有提出任何建议。
  • 这意味着您的密钥没有被保存,请尝试按照dev.to/ksushiva/integrate-stripe-in-your-ruby-on-rails-app-3dc4中的配置步骤进行操作

标签: ruby-on-rails ruby stripe-payments


【解决方案1】:
Rails.application.credentials.dig(:stripe, Rails.env.to_sym, :stripe_secret_key)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    相关资源
    最近更新 更多