我有两个 API 正在尝试安装在我的 Rails 应用程序中——一个名为“v1”,另一个名为“twilio”。每个 API 将由多个文件组成,所以我希望每个 API 都有自己的文件夹。在我的 app/api 目录中,我有 2 个文件夹——“v1”和“twilio”——以及一个名为“api.rb”的文件,我试图用它来挂载这两个 api。它的内容是:
module API
class V1 < Grape::API
prefix "api"
format :json
mount API::Root => '/v1'
end
class Twilio < Grape::API
prefix "twilio"
format :xml
mount API::Twilio_API => '/twilio'
end
end
在“v1”目录中,我有一个名为“root.rb”的文件,其开头如下:
module API
class Root < Grape::API
version 'v1', :using => :header
...
在“twilio”目录中,我有一个名为“twilio_api.rb”的文件,其开头为:
module API
class Twilio_API < Grape::API
version 'v1', :using => :header
...
我的路线文件有:
mount API::V1 => "/"
mount API::Twilio => "/"
当我启动我的 Rails 服务器时,我收到了错误:
`load_missing_constant': Expected [My rails app]/app/api/v1/root.rb to define Root (LoadError)
我不明白这一点,因为 root.rb 确实定义了 Root 类。任何帮助将非常感激。