Даже модели / представления / контроллеры, зависящие от плагинов, должны храниться в каталогах app/model
, app/view
и app/controllers
вместе с другим вашим кодом.
«Структурная» причина заключается в том, что основная масса всех этих файлов по-прежнему будет относиться к вашему приложению. Вы, вероятно, в конечном итоге добавите поля пользователю или добавите операторы has_many
в свою модель User
и т. Д. Вы хотите весь этот код вместе с остальным кодом основного приложения в каталоге app
.
«Функциональная» причина в том, что vender/plugins
является только для кода, конкретно относящегося к этому плагину, и обрабатывается по-разному во время разработки. Например, когда вы добавляете новый плагин, он не загружается автоматически в режиме разработки. Поэтому, если бы ваши основные файлы были там, они не были бы автоматически перезагружены даже в режиме разработки.