Size: a a a

Saint P Ruby Community

2020 July 01

L

Long Journey 🧔 in Saint P Ruby Community
Переслано от DTV
источник

IN

Ivan Nemytchenko in Saint P Ruby Community
Ребят, я готовлю второй воркшоп Painless Rails - про модели, и хочу сделать его максимально полезным. Сейчас созваниваюсь с теми кому интересна тема борьбы со сложностью в рельсах, чтобы лучше понять потребности и проблемы которые хочется победить. Напиште в личку кому интересно было бы пообщаться. Нужно 20-30 минут вашего времени.
источник

DS

Dmitriy Strukov in Saint P Ruby Community
Ivan Nemytchenko
Ребят, я готовлю второй воркшоп Painless Rails - про модели, и хочу сделать его максимально полезным. Сейчас созваниваюсь с теми кому интересна тема борьбы со сложностью в рельсах, чтобы лучше понять потребности и проблемы которые хочется победить. Напиште в личку кому интересно было бы пообщаться. Нужно 20-30 минут вашего времени.
Звучит парадоксально, Rails же один из самых простых инструментов
источник

IN

Ivan Nemytchenko in Saint P Ruby Community
Dmitriy Strukov
Звучит парадоксально, Rails же один из самых простых инструментов
Я на своей практике повидал много очень сложного кода на рельсах. Вероятно проблема есть не у всех. Отчасти для этого и созваниваюсь чтобы понять у кого именно проблемы возникают и какие.

Чисто на глазок на масштабе в 30-40-50 контроллеров/моделей уже могут начать вылезать проблемы. На 100-150 - если ничего специально не предпринимать, то будет уже нормально так тяжеловато. На 300-400 вас уже будет ждать полный ад и израиль. Опять же, если ничего специально не предпринимать и просто делать "по документации".
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
Dmitriy Strukov
Звучит парадоксально, Rails же один из самых простых инструментов
кто сказал? Нигде не видел такого утверждения в официальных доках
источник

m

max in Saint P Ruby Community
не очень понятно какие проблемы имеются в виду
если мы используем модели как паттерн ActiveRecord и пихаем туда валидации, коллбэки и прочее, а потом имеем с этим проблемы (например когда надо что-либо из этого скипнуть), то ответ очевиден - не пихать туда доп функционал, а использовать просто как ОРМ. не писать поведение в моделях, а делать для этого сервисные классы/операции/интеракторы/you_name_it
источник

CM

Cucumba Morozov in Saint P Ruby Community
ох уж эти сервисы
источник

m

max in Saint P Ruby Community
но это просто проблемы паттерна ActiveRecord, рельсы тут как бы не при чем, это мы сами выбираем пользоваться этим или нет, они всего лишь предоставляют возможность
источник

CM

Cucumba Morozov in Saint P Ruby Community
А какие проблемы-то решатся от того, что поведение будет в сервисах/операциях/интеракторах? Избавим себя от ООП и приблизимся к процедурщине?
источник

CM

Cucumba Morozov in Saint P Ruby Community
всякие товарищи из толстых книг говорят, что к сервисам надо прибегать только тогда, когда логику не получается положить в агрегат. если юзать то, что есть из коробки в рельсе, то из активрекорд модели вполне себе неплохой агрегат получается
источник

AD

Anton Davydov in Saint P Ruby Community
Cucumba Morozov
А какие проблемы-то решатся от того, что поведение будет в сервисах/операциях/интеракторах? Избавим себя от ООП и приблизимся к процедурщине?
можно будет модель в сервисах вызывать
источник

AD

Anton Davydov in Saint P Ruby Community
(реальный кейс, вчера такое увидел)
источник

CM

Cucumba Morozov in Saint P Ruby Community
а потом будет сервис User::Create, который просто форвардит всё на User.create!(**params)

Писал такое, да
источник

AD

Anton Davydov in Saint P Ruby Community
Cucumba Morozov
а потом будет сервис User::Create, который просто форвардит всё на User.create!(**params)

Писал такое, да
примерно такое и видел, да
источник

CM

Cucumba Morozov in Saint P Ruby Community
это не то чтоб плохо, просто в очень специфичной парадигме. непонятно, зачем рельса тогда
источник

AD

Anton Davydov in Saint P Ruby Community
потому что сервисы спасают
источник

CM

Cucumba Morozov in Saint P Ruby Community
от чего?
источник

AD

Anton Davydov in Saint P Ruby Community
от всего
источник

CM

Cucumba Morozov in Saint P Ruby Community
от счастливой жизни тоже((
источник

AD

Anton Davydov in Saint P Ruby Community
от спокойной тоже спасает
источник