按照Ruby on Rails的Stripe设置文档(https://stripe.com/docs/checkout/rails),它说config/initializers/stripe.rb将在应用程序启动时创建。
我已经关闭服务器并重新启动服务器好几次了,但是这个文件没有在文档中标识的路径下创建。
我做错什么了?谢谢你的帮助。
按照Ruby on Rails的Stripe设置文档(https://stripe.com/docs/checkout/rails),它说config/initializers/stripe.rb将在应用程序启动时创建。
我已经关闭服务器并重新启动服务器好几次了,但是这个文件没有在文档中标识的路径下创建。
我做错什么了?谢谢你的帮助。
2条答案
按热度按时间7vhp5slm1#
请手动创建此文件。初始化器不会在应用程序启动时生成。Rails会读取它们来配置您的特定应用程序。
创建
config/initializers/stripe.rb
并使用以下内容填充它。在ENV中设置您的密钥和可发布密钥。更改后重新启动您的应用程序,否则您将不会看到任何差异。
我可以理解你会有多困惑,Stripe文档说“初始化器是设置这些值的好地方,这些值将在应用程序启动时提供。”他们意味着你在该文件中设置的值将提供给应用程序示例。
yqkkidmi2#
我真的很不喜欢Stripe Gem的反模式,相反,我最终覆盖了
Stripe::StripeConfiguration
(即使在这里我们也可以看到命名冗余😞),下面是我的解决方案:注意:对于Stripe团队,他们的实现并没有提供额外的安全层,任何可以访问控制台/凭证的人都可以读取它,所以他们在每个请求上覆盖它是没有意义的。你总是可以用一个操作符分配一个属性。
PS:我正在开发一个应用程序,可以提高安全性(即将推出)