Это больше для экспериментов - я знаю, что могу сделать это с --full, но я хотел, чтобы функциональность пространства имен в приложении избегала конфликтов
Идея состоит в том, чтобы иметь основное приложение, котороеобрабатывает аутентификацию, общие элементы, экраны администратора и т. д. Затем создается механизм для добавления дополнительных функций, таких как
- crm
- cms
- blog
- wiki
- forum
- и т. Д.
Эти движки я могу выбирать по мере необходимости для любого приложения, которое я создаю.Возможно ли это?
Это просто случай применения опций --mountable и --full?
Эксперимент - возникнет ли проблема, если я воспользуюсь полной опцией add rspec, а затем просто добавлю
rails plugin new plugin_name --skip-test-unit --full --dummy-path=spec/dummy
и в lib \ plugin_name \ engine.rb
module PluginName
class Engine < Rails::Engine
# this is added by rails when an engine is mountable
# to isolate the plugin and prevent name clashes
isolate_namespace PluginName
# one of the additions to make rspec work from command line for the plugin
config.generators do |g|
g.test_framework :rspec, :view_specs => false
end
end
end
Я уже создал и --full, и --mountable движки, и rspec наконец-то работает для всех, кто читает некоторые замечательные статьи (см. Ниже), но меня интересует, как это повлияет на решение, которое я пытаюсь создать
Я все еще играю с этим и опубликую свои выводы ..
Любая помощь / обсуждение будут высоко оценены.
Обратите внимание
- Почему я хочу это сделать - строить один раз много раз ...
- Я бы никогда не захотел не-tech / client для добавления «плагинов / движков» - это просто для развлечения пункта 1.
Проблемы, которые у меня возникают ...
- Запуск сервера в приложении верхнего уровня.Только при доступе к контенту из движка (я вижу по сообщениям об ошибках) у меня проблема с маршрутизацией (root_path не определен или отсутствуют маршруты разработки) - отображается макет родительского приложения, я вижу его в извлеченном источнике ошибки,Прогресс, но пока нет сигар!
Полезные ссылки