У меня есть приложение Rails 3, которое определяет некоторые классы как обычные.Я пытаюсь выяснить, как заново открыть один из этих классов в плагине (генерируемый «rails generate plugin ...»), и автоматически иметь оба файла (файл в самом приложении и файл в плагине)перезагрузить каждый запрос в режиме разработки.
Простой пример:
# root/lib/person.rb
class Person
Core = 1
end
# root/vendor/plugins/plugin1/lib/person.rb
class Person
Plugin = 2
end
# root/app/views/home/index.html.erb
<%= Person::Core %> ... <%= Person::Plugin %>
Когда рендерится это представление, я получаю ошибку, что Bike :: Plugin не инициализирован.Я добавил root / lib и root / vendor / plugins / plugin1 / lib в мои autoload_paths (в идеале плагин добавил бы это в свой init.rb или где-то похожее, но по одной вещи за раз).
Как мне это сделать?Похоже, autoload_at может помочь, если я могу сказать, что он явно загружает класс Person из обоих мест, но мне не повезло (хотя я совершенно новичок в этом, поэтому я могу передавать неправильные аргументы и т. д.).В конце я хочу сделать это с классами, определенными в стандартных местах (в частности, с моделями), а не только с lib.