Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save alex-popov-tech/07222bae6a68b97f7abdeda96a810b2e to your computer and use it in GitHub Desktop.
Save alex-popov-tech/07222bae6a68b97f7abdeda96a810b2e to your computer and use it in GitHub Desktop.
> не нужно передавать в функцию данные, которые ей не нужны
( в данном случае в mixin input передается структура данных целая,
тогда как он сам использует только кусочек этой структуры)
-----
Зачем создавать дополнительный слой, преобразовывая данные,
если они все равно кроме представления нигде не будут использоваться.
Цель - писать меньше кода
=====
почему доп слой? это тот же самый код ( мапы, джойны, и все такое ), который лежит
не в самом темплейте, а в контроллере
>- мне кажется в миксине темплейта не должно быть никакой
логики по максимуму, типа я воспринимаю миксины как
хелперы для того чтоб не дублировать разметку, а не для
того чтоб в переданных и не нужных данных копаться
-----
миксины - это хелперы. В представлениях может быть логика
и это используется повсеместно. В ruby on rails есть view helpers & simple_form,
в C# есть подобные штуки и в коде представлений часто используются вставки
обычного кода. В конце концов это часть бека и она будет преобразована рендером
======
хелперы, но хелперы для работы с разметкой, а не для связанности
с сущностями орм же, не?
вот из гитхаба что ты привел в пример
https://github.com/heartcombo/simple_form#simple-fields-for
передается структура данных, а не простые строки, но при этом струкрура
данных специально подготовленна для представления, т.е. есть post, в нем есть
title, есть наверно какой нибудь description, но нету например id из базы...
хотя это возможно пример с головы я взял, там ничего такого прям не написано)
но енивей, я не заметил там примеров с non-view данными, только штуки которые
используются в представлении непосредственно, типа для label, value, placeholder,
etc.
т.е. мой поинт в том что в миксинах нужно использовать логику для определения
представления, но не нужно использовать логику касаемо обработки/валидации
переданных данных извне
структура данных передается напрямую из objectionjs, что делает
корректную работу темплейтов зависимой от orm, что не круто т.к.
они вообще никак не связаны логически
------
То, что представление умеет работать с orm это совершенно нормально.
вообще есть два уровня хелперов для представлений - первые работают
с данными, поверх них строится абстракция, которая умеет работать с ORM.
======
а зачем в целом связывать представления с орм,если можно этого не делать?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment