2013-11-11 3 views
0

я не могу показаться, чтобы выяснить этот вопрос:инициализировать файл в рельсах приложение

uninitialized constant Five9Controller::Five9Providers

Мои файлы выглядеть следующим образом:

Контакт Provider

lib/five9_providers/contact_provider.rb 

class Five9Providers::ContactProvider < Five9Providers::BaseProvider 

    def add_record_to_list(record) 
    .... 
    end 
end 

Base Provider

lib/five9_providers/base_provider.rb 

class Five9Providers::BaseProvider 

    def initialize() 
    .... 
    end 

    def other_method() 
    .... 
    end 
end 

Контроллер
controllers/five9_controller.rb 

class Five9Controller < ApplicationController 

    def index 
    end 

    def import 
    contact_provider = Five9Providers::ContactProvider.new() 
    .... 
    end 
end 

Все эти файлы в сочетании сгенерирует ошибку:

uninitialized constant Five9Controller::Five9Providers

в мой контроллер на contact_provider = линии.

Любые мысли?

+0

Вам нужен файл '' 'lib/five9_providers/contact_provider.rb'''? Это в вашем автозагрузке? – mechanicalfish

+0

Нет, я не ... И я предполагаю, что это проблема. Не могли бы вы предложить решение о том, как требовать все файлы в каталоге/lib? Где лучшее место для размещения? application.rb? – Luigi

+0

Добавление этого в мой файл application.rb решило проблему. Из любопытства это лучшее место/способ сделать это? Благодарю. 'config.autoload_paths + =% W (# {config.root}/lib)' – Luigi

ответ

0

Проблема решена путем добавления

config.autoload_paths += %W(#{config.root}/lib)

к моему автозагрузку пути.

Смежные вопросы