# Шаблон приложения Rails 7.1 ## Запуск приложения `/bin/dev` - это запускает сервер rails и наблюдение за изменением sass для автоматической генерации css Если необходимо изменить стандартные параметры запуска rails сервера, необходимо отредактировать `Procfile.dev` ## Кастомизация Файл `config/initializers/customize_error.rb` содержит код, который к каждому input в приложении при наличии ошибки добавляет текст соответсвующей ошибки, при необходимости его можно удалить либо изменить стилизацию ## Используемые библиотеки - **slim-rails** - html процессор с более коротким синтаксисом - **jquery** + **jquery-ui** для использования готовых jquery элементов - **inputmask-rails** - библиотека для создания масок в полях ввода [Inputmask](https://robinherbots.github.io/Inputmask/#/documentation) - **airbrake** - гем для отправки увдомлений об ошибках через errbit (настройка в файле `config/initializers/errrbit.rb`) - **paper_trail** - гем для записи истории изменений объектов в программе (включен глобально для любой модели в файле `application_record.rb`) - **strip_attributes** автоматически удаляет начальные и конечные пробелы в атрибутах модели (включен глобально для любой модели в файле `application_record.rb`) - **toastr-rails** - всплывающие уведомления (изпользование в js: toastr\[TYPE\](text)) - **inline_svg** - подстановка svg inline как html-тэга (в svg можно проставить цвет currentColor и тогда вместо него будет использоваться вычисленный css атрибут color) - **pagy** - более новая пагинация, чем каминари, работает с turbo автоматически - **slimselect** - библиотека для реализации селектов (в т.ч. с поиском) [SlimSelect 2.0](https://slimselectjs.com/) - **bootstrap-icons** - иконки bottstrap [Все иконки](https://icons.getbootstrap.com/) - **hotwire-livereload** - автоматическое обновление страницы приложения при изменении html/css/js - **hotwire turbo** - включено по умолчанию вместо turbolinks для быстрой загрузки страниц, есть большое кол-во дополнительных возможностей для обновления контента страниц без написания js-кода - **hotwire stimulus** - позволяет создавать контроллеры, которые автоматически "приклеиваются" к элементу после его добавления на страницу, в т.ч. динамического