Ruby on rails (byebug)状态200***ArgumentError异常:参数数目错误(给定1,应为0)

Ruby on rails (byebug)状态200***ArgumentError异常:参数数目错误(给定1,应为0),ruby-on-rails,ruby,stripe-payments,Ruby On Rails,Ruby,Stripe Payments,在本文中,我看到一些ruby代码有条件地返回状态400、状态200等 使用Sinatra。 需要“sinatra” 需要“条纹” 设置:端口,4242 #设置您的密钥。请记住在生产中切换到您的实时密钥! #请在此处查看您的钥匙:https://dashboard.stripe.com/account/apikeys Stripe.api_key='sk_test_51hyhsfgtukse83o9j4qeaib3cp8shzgaoqrrnwvnghezuyqkuckep3che3aih5mode

在本文中,我看到一些ruby代码有条件地返回状态400、状态200等

使用Sinatra。 需要“sinatra” 需要“条纹” 设置:端口,4242 #设置您的密钥。请记住在生产中切换到您的实时密钥! #请在此处查看您的钥匙:https://dashboard.stripe.com/account/apikeys Stripe.api_key='sk_test_51hyhsfgtukse83o9j4qeaib3cp8shzgaoqrrnwvnghezuyqkuckep3che3aih5modevmk7tvacyju0adswiuox00qxzmbi9r' #取消注释并替换为真正的秘密。您可以找到端点的 #在webhook设置中隐藏秘密。 #webhook_secret='whsec_…' post'/webhook'do 有效负载=request.body.read sig_header=request.env['HTTP_STRIPE_SIGNATURE'] 事件=零 #验证webhook签名并提取事件。 #看https://stripe.com/docs/webhooks/signatures 了解更多信息。 开始 事件=条带::Webhook.construct\u事件( 有效载荷,sig_头,webhook_秘密 ) rescue JSON::ParserError=>e #无效的有效负载。 状态400 返回 救援条带::SignatureReferenceError=>e #无效的签名。 状态400 返回 结束 如果事件['type']=='payment\u intent.successed' 付款意图=事件['data']['object'] 处理成功的付款意向(付款意向) 结束 状态200 结束 def处理成功付款意向(付款意向) #完成购买。 将付款意向放在 结束 当状态400出现时,文字
status 200
应该是有效的ruby代码,还是程序员需要更改为他们希望发生的任何事情的伪代码?(即,是否应删除文字
状态400
状态200
等?)

询问的原因是,当代码到达运行状态200时,返回:

(byebug) status 200
*** ArgumentError Exception: wrong number of arguments (given 1, expected 0)
可以使用设置中操作的返回HTTP状态代码,该代码是您引用的示例中使用的web框架

鉴于Sinatra是一个不同于Rails的web框架,这里的工作方式有所不同。对于Rails,等效的方法调用(在本例中)是


请注意,示例中使用的许多其他访问器在Rails中的工作方式不同,包括获取请求的头值、读取请求正文以及设置e控制器和路由。

感谢您提供了非常有用的答案。为了完整起见,
head xxx
是否适用于每个状态代码?是的,您可以设置任何数字状态代码或其符号名称。
head 400