文件夹结构如下。
books_controller.rb的定义如下。
module Api
module V1
class BooksController < ApplicationController
books controller内部的checkout方法定义如下。
def checkout
begin
@stripe = StripeService.new
@stripe.invoke_payment
rescue Stripe::CardError => e
json_response(e.message, :unprocessable_entity)
end
end
但是它返回以下错误
NameError(未初始化的常量 Api :: V1 :: BooksController :: StripeServie):
stripe_service.rb
class StripeService
def invoke_payment
customer = fetch_customer
save_user_card_info(customer)
initiate_payment(customer.id)
end
关于如何解决此问题的任何想法?
答案 0 :(得分:2)
可能是拼写错误:StripeService
而不是StripeServie
。
或者检查StripeServie
类的文件名,然后查看它是stripe_servie.rb
。 Rails会自动加载app
目录下的所有类。