Thinknetica-contrib

Продвинутый Rails

Это сборник статей, отвечающих на типичные вопросы студентов в курсе Thinknetica - Продвинутый Rails.

Здесь так же собирается информация, необходимая для обновления используемых в курсе версий Ruby, Rails и других библиотек.

Введение

Процесс разработки

  • Homebrew и Asdf Wip
  • Актуальные версии ruby/rails и гемов
  • Совместимость руби и рельсов
  • Курсы по гит и тулы
  • Как задавать вопросы
  • Добавь меня в реп

Введение в TDD/BDD

  • Попробуйте гитхаб

Тестирование контроллеров

  • Управление ENV
  • CI на Rspec, Сoverege и Standardrb
  • Ветки с конфликтами или проблемами ci не принимаются
  • Кросс ревью и вопросы в общем чате

Интеграционное тестирование

Ajax в Rails

  • slim или erb?

ActiveStorage

  • В разработке

Вложенные формы и полиморфные ассоциации

  • JS в rails 7
  • JS glist

Различные формы Ajax в Rails

  • В разработке

Comet и pub/sub

  • В разработке

Протокол OAuth

  • Конкретные OAuth провайдеры
  • Приколы с Doorkeeper

Авторизация в rails

  • Pundit

REST API

  • В разработке

Фоновые задачи

  • В разработке

Полнотекстовый поиск

  • DHH монолит
  • Как выбирать технологии для стека
  • Сфинкс vs Эластик vs PG full text search

Настройка сервера

  • Passanger криво встает на Ubuntu 22.04.2 LTS
  • Puma vs Passanger vs Unicorn

Deploy. Часть 2

  • Ключи деплоя и ssh-agent / ssh-add -K на маке
  • Управление ENV при деплое
  • systemctl --user

Продвинутая настройка сервера

  • Kamel / MRSK
  • Где взять домен
  • Сertbot / Letsencrypt

Оптимизация и кеширование

  • В разработке

Отказоустойчивость

  • В разработке

Вещает

Юра Кириллов

Rails 7, webpack/webpacker и importmap

Как в Rails 7 подключать js библиотеки?

Одно из самых мощных нововведений Rails 7 - это Import Maps, используемый ранее в Rails webpack (и гем-обертка webpacker) объявлены deprecated. Импортмапы значительно упрощают работу с JS библиотеками и подключение по сути сводится к двум действиям

  • Pin библиотеки с jspm.io
  • Импорт библиотеки в application.js

И это все. Никакого Webpacker или Babel. Совершенно спокойно подключаются крупные библиотеки вроде React или Vue. Далее рассмотрим подключение jQuery, Ujs и Gist-cluent, которые пригодятся нам в курсе

Подключаем Ujs

В Rails 7 Ujs больше не идет в комплекте, но его легко поставить через importmap.

Подключаем jQuery

Вы вполне можете выполнить курс и без jQuery, но давайте посмотрим, как ее установить

Подключаем Gist-cluent

Для домашки в уроке Вложенные формы и полиморфные ассоциации нам пригодится JS библиотека, умеющая скачивать gist листы. Можем взять Gist-cluent