似乎是一个简单的问题,但我似乎无法在SO上找到答案。
我正在尝试将Stripe实现到应用程序中。 Stripe
是一个ruby类,它使用api_key
方法来设置密钥。
在我的Rails 4应用程序中,我需要将密钥定义为Stripe.api_key = mykey
,以便可以从所有控制器和模型访问Stripe
吗?
例如,在数据库中创建帐户后,我希望before_create
挂钩利用此Stripe
类来创建相应的付款帐户。不止一次设置API密钥似乎是不对的。
我已经尝试将其设为$ stripe全球但我被警告不要使用它。
答案 0 :(得分:1)
我在app下有一个文件夹类,其中我为每个类放了一个单独的文件,在你的情况下称为stripe.rb
这样您就可以在不执行任何其他要求的情况下使用该类
答案 1 :(得分:1)
我通常将这些类放在lib文件夹中。您需要确保您的文件名与snakecase中的类名相同。
首次使用Stripe常量时,执行rails constant_missing方法。它在您的一个自动加载路径中搜索名为stripe.rb的文件。如果文件不存在,则抛出常量缺失异常,否则返回此文件类中声明的内容(如果其名称与常量匹配)。
如果你想在服务器启动时对这个类执行一些代码,你需要将它放在config / initializers文件夹中(不是类本身,只是调用它的代码)。在加载了正确的环境之后,正在执行此文件夹中的所有文件(此处不需要命名约定)。