Друзья, местами здесь код выглядит не очень хорошо и был написан просто для демонстрации ряда понятий. Сейчас многие вещи можно решить проще с использованием того же stimulus + hotwire (про это есть отдельный плейлист). В идеале, в представлениях не должно быть вызовов .build и подобных вещей. Более продвинутое и удачное решение описано в этом уроке kzbin.info/www/bejne/nXrJYph-ediUic0 К сожалению, иногда, чтобы начать писать хороший код, приходится написать плохой
@alexanderbatashov8523 Жыл бұрын
Честно говоря, за все года, так не разу и не было подобного проекта, как монолита на MVC. Очень интересно. Спасибо Илья большое за такую работу!
@IlyaBodrovKrukowski Жыл бұрын
@rickbacker1 Жыл бұрын
Очень нелегкая тема для меня, пока что, эти полиморфические связи. Спасибо за Ваш труд, качественный контент и легкая подача материала!
@IlyaBodrovKrukowski Жыл бұрын
Это и правда сложная тема, но не сказать, чтобы такая фича очень часто используется
@gek623 жыл бұрын
Илья вы лучший! Спасибо за труды!
@IlyaBodrovKrukowski3 жыл бұрын
На здоровье!
@ppavelcars3 жыл бұрын
Спасибо, познавательный урок получился!
@IlyaBodrovKrukowski3 жыл бұрын
Благодарю!
@alexanonym15848 ай бұрын
32:27 как работает polymorphic_path?
@ВикторИвлиев-н2ч3 жыл бұрын
Ура появилась минутка посмотреть =). Как говорили вы и ребята в комментариях с js тут было бы все более красиво и логично, но дедовский способ тоже имеет место быть, но только для понимания процессов.. Спасибо.
@IlyaBodrovKrukowski3 жыл бұрын
Да, в этом и суть. :D
@Obrezkasada2 жыл бұрын
а у меня к сожалению декораторы не заработали хотя я и указал decorates_association
@IlyaBodrovKrukowski2 жыл бұрын
Странно. Попробуйте всё-таки ещё раз проверить, может где-то ошибка - у меня тоже бывает, что вроде всё должно работать, а потом выясняется, что где-то забыл что-то дописать
@wised_one3 жыл бұрын
Cпасибо за ваш труд, подскажите если не отрабатывают дропдовны, но остальные стили подтянулись и все ок, куда смотреть?
@IlyaBodrovKrukowski3 жыл бұрын
Консоль браузера - может, ошибки есть какие-то? Плюс логи самого rails, возможно там webpacker сообщает ошибки какие-то
@wised_one3 жыл бұрын
@@IlyaBodrovKrukowski нашел только в веб-консоли такое ``` index.js:5 Uncaught Error: Cannot find module '@rails/ujs' at webpackMissingModule (index.js:5) at Module../app/packs/entrypoints/application.js (index.js:5) at __webpack_require__ (bootstrap:19) at __webpack_exec__ (application.scss?b714:1) at application.scss?b714:1 at Function.__webpack_require__.O (chunk loaded:25) at application.scss?b714:1 at webpackJsonpCallback (jsonp chunk loading:36) at application.js:1 ```
@IlyaBodrovKrukowski3 жыл бұрын
@@wised_one Значит, нет rails-ujs. Посмотрите полный конфиг package.json вот тут и удостоверьтесь, что у вас все библиотеки перечислены (и указаны свежие версии) github.com/bodrovis-learning/RailsSeriesYT/blob/lesson_17/package.json После этого сделайте команду yarn install, перезапустите сервер - если всё установится корректно, то ошибок быть не должно
@wised_one3 жыл бұрын
@@IlyaBodrovKrukowski не все библиотеки есть, скопировал как у вас вставил не помогло, в веб консоле ошибке теже но теперь и в обычной консоли ошибка "[Webpacker] Compilation failed: [webpack-cli] TypeError: The 'compilation' argument must be an instance of Compilation"
@IlyaBodrovKrukowski3 жыл бұрын
@@wised_one Проверьте версии webpacker - они должны быть самые свежие (там иногда бывает, что webpacker слетает на старую версию). Сделайте yarn install / yarn upgrade. После установки yarn oudated не должен показывать никаких старых версий. К сожалению, с webpacker 6 всё ещё есть проблемы, он до сих пор не вышел под стабильной версией, увы. Если не поможет - можно зайти в наш чат, может кто-то из народа поделится опытом апгрейда. Но мне обычно помогает поставить самые свежие версии
@egorkas81662 жыл бұрын
34:54 - n + 1
@alexanonym15849 ай бұрын
35:03
@dmytroyatskiv94512 жыл бұрын
Илья надеюсь вы мне поможете , урок с апгрейдом веб пакера я пропустил , как можно реализовать collapse что б можно было оставить коментарии
@IlyaBodrovKrukowski2 жыл бұрын
Лучше сразу смотреть обновлённые уроки по Rails (rails 7, esbuild, propshaft, turbo frames) - это всё на канале есть в соответствующих плейлистах, там новая более удобная реализация
@dmytroyatskiv94512 жыл бұрын
@@IlyaBodrovKrukowski да так и сделал все работает)
@ItmenLinux3 жыл бұрын
подскажите пожалуйста есть ли библиотека на подобие Bullet для проверки на проде оптимизированы запросы или нет, я пока заметил что запросы в базе тяжеловаты, при чем именно запросы которые джоины между таблицами.
@IlyaBodrovKrukowski3 жыл бұрын
Да, варианты есть: pawelurbanek.com/slow-rails-queries
@alexanonym15848 ай бұрын
Зачем нужно is_current_comment?
@ildarmurtazin90632 жыл бұрын
мне как то сказали что ставить амперсанд не тру, и отшили тестовое задание.
@IlyaBodrovKrukowski2 жыл бұрын
Ничего об этом не слышал, если честно, а о каком амперсанде речь именно?
@ildarmurtazin90632 жыл бұрын
@@IlyaBodrovKrukowski movie.categories&.each Если присутствует & значит что-то пошло не так. Из этого кода следует что у тебя movie.categories может быть разных типов. Либо массив, либо nil. Вместо nil надо возвращать [], и тогда не будет сюрпризов которые надо решать через &, ставил его где вылезали ошибки, использовал в нескольких местах
@IlyaBodrovKrukowski2 жыл бұрын
@@ildarmurtazin9063 Аа, в этом плане. Ну, пардон, но я всё-таки совсем идеальный код пишу не всегда, тем более для демонстрации какой-то общей мысли :)
@ildarmurtazin90632 жыл бұрын
@@IlyaBodrovKrukowski к вам то претензий нет) я делал задание на джуна) и код замечательный для такого уровня
@IlyaBodrovKrukowski2 жыл бұрын
@@ildarmurtazin9063 Ну вообще вы в любом случае правы, в идеале, конечно, так быть не должно
@ledockol3 жыл бұрын
Снова исчез комментарий....
@IlyaBodrovKrukowski3 жыл бұрын
Ну я опять видел его в уведомлениях и, больше того, было написано кол-во комментов больше, чем есть на самом деле. Не понимаю, что это за ерунда такая. Но в целом да, вы правы, что JS там напрашивался, но был интерес сделать прямо так, дедовскими способами. :)
@ledockol3 жыл бұрын
@@IlyaBodrovKrukowski Коротко суть комментариев: form_with предполагает AJAX, которого пока нет в проекте. Поэтому следует добавить local: true или заменить на form_for
@IlyaBodrovKrukowski3 жыл бұрын
@@ledockol Да, это правда
@ledockol3 жыл бұрын
Опять 2 комментария исчезло))
@IlyaBodrovKrukowski3 жыл бұрын
Ну, либо config.action_view.form_with_generates_remote_forms = false - надо про это будет сказать в следующем видео