Вопрос наилучшей практики Rails: куда нужно поместить общий код и как он будет загружен?
-
08-07-2019 - |
Вопрос
Рельсовые книги и веб-страницы, за которыми я следил, все придерживались очень простых проектов, чтобы предоставить полные примеры. Я перехожу из небольшого проектного приложения в область клиентов без браузера и должна решить, куда поместить код, который будет использоваться всеми заинтересованными сторонами.
Клиент без браузера - это скрипт, который выполняется на любом компьютере, который может подключаться к базе данных. Клиенты браузера записывают команды в базу данных, которую скрипт анализирует и решает, что делать. После завершения скрипт затем записывает свой результат обратно. Сценарий не запускается сервером RoR, но имеет доступ к своей структуре каталогов.
Где было бы лучшее место для совместного использования кода и как бы с ним справился загрузчик RoR? Код, о котором идет речь, на самом деле не принадлежит модели, в противном случае я бы добавил его туда и покончил бы с этим.
Решение
Я бы поместил общий код в каталог / lib
проекта Rails и подумал о том, чтобы сделать это пользовательской задачей Rake.
Другие советы
Это действительно зависит от того, насколько вы используете этот общий код. Если вы используете его везде, то выбросьте его в папку lib (как уже было сказано здесь). Если вы используете его только в нескольких местах, возможно, вы захотите сделать из него плагин и загружать его только в тех местах, где он используется. Приятно загружать только то, что вам нужно (одна из причин, по которой я люблю Merb).