【发布时间】:2013-12-08 06:21:51
【问题描述】:
我刚刚学习 RoR,需要在 Stripe 集成方面遇到问题。我已经按照here 的说法做了所有事情,除了我将“收费”更改为“收费”。
我收到的错误是:
No route matches {:action=>"show", :controller=>"charge"} missing required keys: [:id]。
不让我做:<%= form_tag charge_path do %>
这是我的控制器:
class ChargeController < ApplicationController
def new
end
def create
# Amount in cents
@amount = 0
customer = Stripe::Customer.create(
:email => 'jon@jonkhaykin.com',
:card => params[:stripeToken]
)
charge = Stripe::Charge.create(
:customer => customer.id,
:amount => @amount,
:description => 'Inspire App Charge',
:currency => 'usd'
)
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to charge_path
end
end
我的 routes.rb 文件有:
resources :charge
感谢您的帮助!
【问题讨论】:
-
一旦您将“charges”更改为“charge”,您就破坏了 RoR 命名约定。
标签: ruby-on-rails ruby stripe-payments