классы в папке lib не обнаруживаются в rails - PullRequest
2 голосов
/ 10 ноября 2010

В моем проекте я написал несколько классов в папке lib, но rails не обнаруживает эти классы в рабочей среде. Я получаю неинициализированную постоянную ошибку.

Я использую Apache в производственной среде и rails script / server в среде разработки.

Что-то не так с окружением RAILS_ROOT? Кто-нибудь может подсказать, как побороть эту проблему?

Ответы [ 2 ]

1 голос
/ 10 ноября 2010

Я не уверен насчет Rails, но вы добиваетесь этого в Ruby следующим образом: (это будет работать и в rails, но рельсы должны быть элегантным образом)

require File.join(File.dirname(__FILE__), "lib",'your_module_name')
include your_module_name

Попробуйте это в config/application.rb (я полагаю, у вас есть rails3)

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

Обновление: Rails - почему модель внутри RAILS_ROOT / lib не будет доступна в рабочем режиме?

0 голосов
/ 10 ноября 2010

Убедитесь, что имя вашего файла совпадает с именем класса или модуля, определенного в нем, с учетом любых каталогов.

е:

lib/my_new_class.rb

class MyNewClass
end

Или, если у вас есть иерархия каталогов:

lib/my_files/my_module.rb

module MyFiles
  module MyModule
  end
end
...