Я довольно новичок в Rails, и мои самые большие проблемы - это то, где моя логика должна поддерживать объектно-ориентированный дизайн и в то же время придерживаться шаблона MVC. Поэтому я думаю, что это вопрос о MVC как о Rails. Это мой сценарий:Где я должен поместить свой код, если он не вписывается в модель или контроллер?
У меня есть функция импорта в приложении Rails, которое анализирует загруженный Excel-файл заказов и импортирует его содержимое. Когда я написал функцию, я поместил ее в OrdersController. Я знал, что с самого начала это было не самое лучшее место, но я не совсем уверен, что хочу поместить его в модель. Если бы я был помещен в модель, это было бы как метод класса, например. Закажите :: import_from_excel, и, возможно, сейчас все будет хорошо. Но если задача будет расти и усложняться, ее, вероятно, нужно будет разбить на несколько методов, и модель будет загромождена. В этом случае я бы счел нужным переместить всю функциональность импорта в свой собственный класс, например. OrderImporter, который был бы совершенно нормальным в объектно-ориентированной среде MVC. Но где бы я поставил такой класс, в lib?
Спасибо! Это имеет большой смысл. – Johannes