Так основная проблема в сердце здесь является следующее сообщение:Использование библиотек в Rails (4.1.x) Двигатели?
`<class:ApplicationController>': uninitialized constant Xaaron::Core (NameError)
Так что я думаю, что некоторые из шагов, которые я сделал будет излишним, но я новичок в попытке добавить код на папку библиотеки в двигатель рельсов, в рельсах его довольно легко. Но здесь его не так много.
Так вот что я сделал:
в:
xaaron/
lib/
xaaron/
У меня есть каталог с именем core/
с файлом под названием loder.rb
.
Внутри ядра каталог под названием controllers
и в стороне есть файл с именем user_controller
, который выглядит следующим образом:
module Xaaron
module Core
module UserController
def assign_to_member_group(user)
memeber = Xaron::Group.find('member')
user.add_group = memeber.group_name
end
end
end
end
Для загрузки этого у меня есть загрузчик файла:
module Xaaron
module Core
module Loader
include Xaaron::Core::Controllers::UserController
end
end
end
Что я Не думаю, что это необходимо, потому что в файле engine.rb
я делаю: config.autoload_paths << File.expand_path("../xaaron/core/**", __FILE__)
, который просто идет вверх по одному каталогу в каталог lib/
и загружает xaaron/core/и все в нем (или так я думал).
Этот loader.rb
файл включен в ApplicationController
module Xaaron
class ApplicationController < ActionController::Base
...
include Xaaron::Core::Loader
...
end
end
Итак:
- Что такое правильный способ загрузить мой "ядро" библиотека
- Почему я получаю ошибку выше?
Уточните, что вы хотите загрузить и откуда. Я имею в виду, что 'Xaaron :: Core :: Loader' поступает из engine и' ApplicationController' из 'main_app'? – blelump
Извините, что: 'Xaaron :: Core :: Loader' находится в' xaaron/lib/xaaron/core/loader.rb' - его обособленно от двигателя – SeekingTruth