Ruby on rails 4 在CoffeeScript文件中使用Stripe

Ruby on rails 4 在CoffeeScript文件中使用Stripe,ruby-on-rails-4,coffeescript,stripe-payments,Ruby On Rails 4,Coffeescript,Stripe Payments,我有一个名为subscribers.coffee.erb的CoffeeScript文件 $(document).ready -> stripe = require('stripe')('<%= Rails.configuration.stripe[:publishable_key]%>') $('.pricing-get-started').prop("disabled", true) $('.verify-coupon').click -> #

我有一个名为
subscribers.coffee.erb的CoffeeScript文件

$(document).ready -> 
  stripe = require('stripe')('<%= Rails.configuration.stripe[:publishable_key]%>')

  $('.pricing-get-started').prop("disabled", true)
  $('.verify-coupon').click ->
    # use stripe api to verify that the coupon is valid

  return
return
$(文档).ready->
条带=需要(“条带”)(“”)
$('.pricing get start').prop(“已禁用”,true)
$(“.验证优惠券”)。单击->
#使用条带api验证优惠券是否有效
返回
返回
第二行似乎不起作用。我甚至试图复制并通过我的可发布密钥,但这也不起作用。我认为以下问题是:

  • 未找到要求('stripe')
  • Rails无法从coffeescript文件中找到可发布的密钥
  • 注意:

    我有一把钥匙。我可以注册订阅以及我的订阅服务器/new.html.haml中的所有内容

    我正在使用
    gem'stripe'


    任何建议都将不胜感激

    您正在调用
    stripe=require('stripe')
    ,但是默认情况下,javascript中没有定义
    require
    。只要在调用此脚本之前应用程序中包含了
    stripe.js
    ,就不需要
    require('stripe')

    加载Stripe.js后,您可以通过
    Stripe.setPublishableKey('pk_test_key_here')设置可发布密钥。如果您使用的是环境变量,请确保在您的环境中定义了
    Rails.configuration.stripe[:publishable_key]


    最后,您应该知道,资产清单(
    application.js
    application.css
    )中包含的资产文件中的任何嵌入式ruby都不会在每个请求上被调用,而只会在运行
    rake资产:预编译
    时被调用。因此,
    Rails.configuration.stripe[:publishable_key]
    的计算结果可能并不总是达到您期望的值。

    @muistooshort我编辑了该问题并修复了它。这不在我的实际代码中(当我在这里的编辑器中移动一些东西时,一定被删除了)。不管怎样,你有没有其他的建议来解释为什么这不起作用?是否有其他方法可以访问可发布密钥或stripe.js?是
    require
    不起作用还是
    require
    找不到stripe?@muistooshort我不确定。我正在使用
    gem stripe
    ,从外观上看,
    stripe.js
    文件应该在资产管道中可用。这就是为什么我认为
    require
    可能正在工作,而rails在查找
    可发布的\u键时出现了问题
    任何地方有错误吗?您确定编译资产时,
    Rails.configuration.stripe[:publishable\u key]
    正确吗?