2013-02-11 3 views
1

Folks,ActionView :: Template :: Ошибка с полосой при нажатии на Heroku

Я пытающийся развернуть рельсы на веб-приложение Heroku с помощью Stripe. Это может быть прекомпиляционная проблема с активами. Я проверил журналы ошибок heroku и обнаружил ошибку шаблона actionview «undefined method stripe»

Все работает нормально на моей локальной машине, это просто что-то не так, когда вы нажимаете на героку.

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 и поместить его в папку с моими активами, но это, похоже, не помогло.

ответ

1

Это, похоже, не связано с компиляцией активов или stripe.js. Это строка сбойной с вашей точки зрения:

data-key="<%= Rails.configuration.stripe[:publishable_key] %>" 

Heroku запускает ваше приложение с настройками вашей производственной среды. Возможно, у вас есть только Rails.configuration.stripe, установленный в development.rb, или где-нибудь схожий?

1

У меня была такая же проблема, но это было потому, что, когда я впервые начал тестировать Stripe при разработке, у меня были фактические ключи в моем файле stripe.rb, поэтому я добавил его в свой .gitignore, чтобы не доводить до версии эти ключи. Когда я обновлял свой код для запуска в производстве, вместо этого использовал ENV vars, но забыл удалить этот stripe.rb из .gitignore. Двойная проверка, чтобы убедиться, что вы переконфигурируете переменные, прекратите игнорировать файл, и вы должны быть установлены.

+0

Это было для меня: stripe.rb был в моем .gitignore. Спасибо, что поделились своим личным опытом, высоко ценим! – DnfD