Как решить проблему с разгоном граблей на плагине rails? - PullRequest
5 голосов
/ 18 мая 2010

Из-за концепции, введенной в здесь ,

Rails :: Плагин - не что иное, как Rails :: Engine, но так как он загружен слишком поздно в процессе загрузки, это делает не имеют одинаковые возможности конфигурации как голые рельсы :: двигатель.

напротив рельсов :: Railtie и Rails :: Engine, вы не должны наследовать от Rails :: Plugin. Rails :: Plugin автоматически настроен быть двигателем просто размещение внутри продавца / плагинов. поскольку это делается автоматически, вы на самом деле не может объявить Rails :: Engine внутри вашего плагина, в противном случае это приведет к тому же файлы должны быть загружены дважды. Это означает что если вы хотите отправить двигатель как драгоценный камень, он не может быть использован в качестве плагина и наоборот.

Помимо этого концептуального различия, единственная разница между Rails :: Engine и Rails :: Плагин есть что плагины автоматически загружают файл "init.rb" в корне плагина во время процесса загрузки.

задачи rake в плагинах rails устарели, и вместо них рекомендуется использовать lib / tasks. Как это решить? Могу ли я просто переместить задачи плагина в lib / tasks?

Ответы [ 2 ]

9 голосов
/ 29 мая 2010

У меня была такая же проблема, я просто переместил все файлы vendor / plugin / * / tasks / *. Rake в lib / tasks (пришлось создать этот каталог, потому что его не было)

тогда рейки рельсы: обновление прошло нормально

2 голосов
/ 22 февраля 2011

Если вы разработчик плагина, вы просто переместите

my_cool_plugin/tasks

до

my_cool_plugin/lib/tasks
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...