Требовать файл модуля Helpers в Grape API

Это структура моего 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)


person Shakeeb Ahmad    schedule 31.01.2016    source источник


Ответы (1)


пространство имен WardenHelpers в модуле Helpers

module Helpers
   module WardenHelpers
    extend Grape::API::Helpers
    # Helpers go here
  end
end

чем использовать helpers Helpers::WardenHelpers в application.rb

person Chris    schedule 24.02.2016