Я разработчик PHP и много работал с Laravel. Тем не менее, в настоящее время мне нужно сделать небольшое расширение для Redmine (Ruby Issue Tracker Tool) для работы.Rails: Расширение существующего кода
Я совершенно новый для Ruby и Rails, поэтому я одновременно стараюсь ускориться по языку и структуре.
В общем, мне нужно будет сделать некоторые миграции, которые добавят несколько столбцов в существующую таблицу Redmines. Затем, когда в Redmine запускаются различные методы (записи времени записи, удаление записей, создание проектов и т. Д.), Мне нужно сделать пару вызовов API и вставить/обновить возвращаемые данные в указанных столбцах.
Так что не очень сложно, но я задаюсь вопросом несколько вещей, как я получаю от земли:
1) Потому что я расширения существующего Rails приложение, я должен создавать плагин? или драгоценный камень? Кажется, Redmine имеет «плагин-генератор», который обеспечивает некоторую плиту котла
2) Мне нужно подключиться к существующим событиям «Сохранить и обновить» в Redmine. Насколько я понимаю, вы не должны переопределять существующие контроллеры и модели. В чем, какие методы используются для реализации дополнительных функций для существующего приложения?
Я нашел этот полезный кусок: http://www.redmine.org/projects/redmine/wiki/Plugin_Internals
Однако упоминает:
As explained above: you rarely want to override a model/controller. Instead you should either:
1) add new methods to a model/controller or
2) wrap an existing method.
Предположительно, вы бы не добавлять методы непосредственно к первоисточнику? Я замечаю, что он использует Модули для реализации этого, но не знает точно, как они работают.
Вы ищете плагины Redmine. Учебник доступен здесь: http://www.redmine.org/projects/redmine/wiki/Plugin_Tutorial – Nanego