#ruby-on-rails #ruby #database #ruby-on-rails-3 #plugins
#ruby-on-rails #ruby #База данных #ruby-on-rails-3 #Плагины
Вопрос:
Я использую Ruby on Rails 3 и планирую создать «расширяемое» приложение. То есть иметь основное приложение для , в которое я могу добавлять («неинвазивные») плагины, вообще не изменяя основное приложение. Эти плагины должны взаимодействовать с основным приложением в соответствии с его структурой базы данных кода.
Как я могу решить эту проблему при проектировании структуры базы данных моего приложения (первичные внешние ключи, …) и продумывании реализации кода приложения?
Ответ №1:
Я могу порекомендовать вам Rails::Engine. Хорошим примером этого являются проекты Refinery CMS или Spree.
Вы можете написать миграции в движке и скопировать их в базу данных приложения / выполнить миграцию с помощью генератора, например.