движки rails 3.1.1 - с монтируемыми движками, можно ли получить доступ к ресурсам родительского приложения, макет по умолчанию?

Это больше для экспериментов - я знаю, что могу сделать это с помощью --full, но мне нужна была функциональность пространства имен в приложении, чтобы избежать конфликтов

Идея состоит в том, чтобы иметь основное приложение, которое обрабатывает аутентификацию, общие элементы, экраны администратора и т. д. Затем создание механизмов для добавления дополнительных функций, таких как

  • crm
  • cms
  • блог
  • вики
  • форум
  • и т. Д.

Эти движки я могу выбирать по своему усмотрению для любого типа приложения, которое я создаю. Возможно ли это?

Возможно ли это? это просто случай применения обоих параметров --mountable и --full?

Экспериментируем - возникнут ли проблемы, если я использую полную опцию add rspec, а затем просто add

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 наконец-то работает для всех, кто читает, есть несколько замечательных статей (см. ниже), но удивляясь более широкому влиянию этого для решения, которое я пытаюсь создать

, я все еще играю с этим и опубликую свои выводы. .
Мы будем благодарны за любую помощь / обсуждение.

Обратите внимание

  1. Почему я хочу это сделать - собрать один раз и использовать много раз ...
  2. Я бы никогда не хотел, чтобы нетехнический / клиентский человек добавлял «плагины / движки» - это просто для развлечения 1.

Проблемы, которые у меня возникают ...

  1. Запуск сервера в приложении верхнего уровня. Только при доступе к контенту из движка (я могу видеть по сообщениям об ошибках) у меня проблема с маршрутизацией (root_path undefined или отсутствует разработка маршрутов) - отображается макет родительского приложения, я вижу его в извлеченном источнике ошибки . Прогресс, но сигары пока нет!

Полезные ссылки

6
задан Community 23 May 2017 в 12:19
поделиться