Pull to refresh

Comments 15

О, боги! Вы настолько странно тут всё сделали, что, простите, у меня не хватит терпения дать комментарии, поскольку они по объёму выйдут длиннее Вашего поста. Прийдется, по всей видимости, написать пост про то, как устроена работа с контроллерами ресурсов в нашей команде.

герб_веб_разработчиков.jpg

Новички, прошу вас, не берите это за основу для своих проектов, не учитесь плохому.
Новички, прошу вас, не берите это за основу для своих проектов, не учитесь плохому.
Полностью согласен. Такие вещи новичкам вряд ли пригодятся. Далеко не каждый программист (даже не новичок) начинает создавать проект на Rails, когда под ним лежит СУБД, используемая многими системами, которые написаны вообще не как трехзвенные. Понятное дело, что при наличии большого количества разнородных систем на одной СУБД проект на Rails будет выглядеть очень далеким от лучших практик.

Для каждого шаблона проектирования есть своя область применения. Приведенный выше шаблон не претендует на большой охват, область его применения очень специфична. И никто не призывает использовать его в тех местах, где он будет плох.
Скорее всего у вас другие проекты и другие задачи, если он вам кажется ужасным. Хотя если вы предложите что-то более подходящее, будет очень здорово. С большим удовольствием ознакомлюсь с вашей заметкой.
Да вы верно шутите?! Шаблон очень распространенный. Так или иначе, полностью или частично, я почти уверен, что каждый rails разработчик сталкивается с вашей проблемой. Но это не повод писать велосипед.
Возьмите inherited_resources, и можно вообще ничего не городить.
Во первых, гем работает в ряде случаев, во вторых есть форки, в третьих подтверждает тезис о заезженности паттерна.
Index должен возвращать respond_with collection, все остальное должно быть в сервисах и концернах. Логика в контроллерах плохой тон, уже много лет.
respond_with — да, пропустил.

все остальное должно быть в сервисах и концернах. Логика в контроллерах плохой тон, уже много лет.
— если наш контроллер достаточно тонкий и нацелен на решение ограниченного круга задач, то почему бы и не написать в нем логику? Это же не гем, который призван заткнуть собой все возможные щели и позволить дальнейшую модификацию под любой возможный и невозможный случай.
Ваш контроллер не достаточно тонкий — натравите на него мутанта и вы увидите 1000+ мутаций.
Скажите, когда вы пишете `select { |s| s }` вас самого-то ничего не беспокоит? Прям фортраном повеяло.
Намного больше хотелось бы увидеть реальную критику подхода, возможности для его развития, использования или имеющиеся альтернативы.
На POST /universal_api/kernel ответ будет, видимо, 500 и ошибка в логах `undefined method name 'column_names' for Kernel`.
Спасибо за замечание. Более правильно будет давать доступ только к классам-потомкам ActiveRecord.
Для меня как фронтэндщика, этот код кажется вполне достойным.Я в бэке не профессионал, но часто пишу код в рельсах, и ваш код сохраню себе в проект, т.к. раньше думал об этом, но продолжал делать разные модели.

Вообще сообщения выше меня немного удивляют, этот код не рассчитан на сложный проект, он рассчитан на взятие определенной строки/удаления ее по параметрам, добавление новой строки и т.п. Главное не забыть про авторизацию).

Спасибо, мне код понравился.
Sign up to leave a comment.

Articles