Как переопределить рельсы 3 моделей двигателей и контроллеров в основном приложении?
Я хочу иметь возможность переопределять модели и контроллеры моего двигателя rails 3 в базовом приложении.
Изучив $LOAD_PATH, я нашел там "app/{models,controllers}" движка, но я не могу явно требовать модель двигателя или файл контроллера: требование "engine_name / model_name" завершается с ошибкой "нет такого файла" (пробовал с обоими пространствами имен (app/controllers/enginename/*) и обычный движок).
Итак, каков наилучший способ расширить модели / контроллеры двигателя в рельсах 3, не копируя их в базовое приложение?
По сути, это проблема порядка загрузки. Так что, если мне явно требуется модель из движка, все в порядке, но я надеюсь, что есть лучший способ.
1 ответ
Так что я на самом деле вернулся и написал документацию. Ответ заключается в том, чтобы открыть классы Controller и Model, используя либо
- Класс # eval_class
- ActiveSupport:: Концерн
Более подробно здесь, http://guides.rubyonrails.org/engines.html
(отредактировано. Изменено с поддоменов "направляющие" на поддомен "направляющие")