伙计,
我正在尝试使用Stripe在Heroku上部署rails webapp。这可能是预编译资产问题。我检查了heroku错误日志,并且有一个actionview模板错误“undefined method stripe”
在我的本地机器上一切正常,推送到heroku时出现问题。
2013-02-11T00:22:53+00:00 app[web.1]: ActionView::Template::Error (undefined method `stripe' for #<Rails::Application::Configuration:0x00000003397440>):
2013-02-11T00:22:53+00:00 app[web.1]: 7:
2013-02-11T00:22:53+00:00 app[web.1]: 6: </article>
2013-02-11T00:22:53+00:00 app[web.1]: 9: data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
2013-02-11T00:22:53+00:00 app[web.1]: 8: <script src="https://checkout.stripe.com/v2/checkout.js" class="stripe-button"
2013-02-11T00:22:53+00:00 app[web.1]: 10: data-description="You'll get your information in 2 days!"
希望有人对此问题有所了解。我尝试下载完整的stripe.js文件并将其放入我的资产文件夹中,但这似乎没有帮助。
答案 0 :(得分:1)
这似乎与资产编译或stripe.js
无关。这是您视图中失败的行:
data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
Heroku使用您的生产环境设置运行您的应用。您是否可能只在Rails.configuration.stripe
设置了development.rb
,或者在某个类似的位置?
答案 1 :(得分:1)
我遇到了同样的问题,但是因为当我第一次开始测试Stripe开发时,我的stripe.rb
文件中有实际的密钥,因此我将其添加到.gitignore
以防止版本控制那些钥匙。更新我的代码以在生产中运行时,我使用了ENV vars,但忘记从stripe.rb
删除.gitignore
。仔细检查以确保重新配置变量,停止忽略该文件,然后设置。