这是我的Grape API的结构。
app
| /api
| /v1
| application.rb
/helpers
| warden_helpers.rb
/models
| user.rb
这是我的warden_helpers.rb文件;
require 'grape'
require 'warden'
module WardenHelpers
extend Grape::API::Helpers
# Helpers go here
end
这就是我试图在application.rb
;
require 'grape'
# Load files from folders
Dir["#{File.dirname(__FILE__)}/app/models/**/*.rb"].each { |f| require f }
Dir["#{File.dirname(__FILE__)}/app/api/**/*.rb"].each { |f| require f }
Dir["#{File.dirname(__FILE__)}/app/helpers/**/*.rb"].each { |f| require f }
module API
class Root < Grape::API
helpers WardenHelpers
end
end
如果我将帮助器作为块包含在application.rb
中或将模块放在同一个文件中 - 一切正常。但是这种方法会引发错误:in '<class:Root>': uninitialized constant API::Root::WardenHelpers (NameError)
答案 0 :(得分:1)
Helpers模块中的命名空间WardenHelpers
module Helpers
module WardenHelpers
extend Grape::API::Helpers
# Helpers go here
end
end
而不是helpers Helpers::WardenHelpers
application.rb