【发布时间】:2013-12-12 17:24:09
【问题描述】:
我正在尝试实现 api 版本控制,几乎与 I've done here 相同。但我似乎没有在 rails 应用程序中获得正确的模块/文件夹结构,因为我收到类似 V1 is not a module /app/api/v1/xml_responses/device.rb:3:in '<module:API>' 的错误消息
目录结构
/app
/api
- api.rb
/v1
-base.rb
/xml_responces
- device.rb
api.rb
require 'v1/base.rb'
module API
class Base < Grape::API
mount API::V1 => '/v1/'
end
end
v1/base.rb
module API
module V1
class ApiV1 < Grape::API
require 'builder'
helpers DeviceMethods
prefix 'api'
version 'v1', using: :header
end
end
end
V1/xml_responses/device.rb
module API
module V1
module XMLResponses::Device
def self.do_something
#do_something
end
end
end
end
Routes.rb
mount API::Base => '/'
我不知道我做错了什么!你能帮帮我吗?
【问题讨论】:
-
尝试在您的 device.rb 文件顶部要求 v1/base.rb。
-
不,这没有帮助
-
还是同样的模块错误?
标签: ruby-on-rails api versioning grape grape-api