Продолжаем наши уроки по Ruby on Rails 6! Сегодня поговорим о том, что такое CRUD (спойлер: create, read, update, delete) и узнаем, как позволить пользователю создавать, модифицировать и удалять данные. Также обсудим маршруты и немного затронем partials (частичные представления). https://youtu.be/5ntK2ssu1Ro
YouTube
Ruby on Rails 6/7, урок #3 | CRUD: создание, чтение, обновление, удаление
Продолжаем наши уроки по Ruby on Rails 6/7! Сегодня поговорим о том, что такое CRUD (спойлер: create, read, update, delete) и узнаем, как позволить пользователю создавать, модифицировать и удалять данные. Также обсудим маршруты и немного затронем partials…
Всем привет! Если кто-то вдруг не слышал о решении Ransack, то самое время взять его на вооружение :) Данный gem позволяет создавать сложные формы поиска и определять разнообразные критерии . Это значительно проще, чем писать всю логику самостоятельно! https://github.com/activerecord-hackery/ransack
GitHub
GitHub - activerecord-hackery/ransack: Object-based searching.
Object-based searching. . Contribute to activerecord-hackery/ransack development by creating an account on GitHub.
Всем неспящим посвящается :) Забавно, что этот трек я написал почти ровно год назад. Казалось бы, прошло совсем немного времени, а столько нового произошло. https://www.youtube.com/watch?v=AOO8BRJiVsM
YouTube
Ravens Die Laughing - Cold Rain
Darkwave, electronic, ambient
Пока новое видео готовится к выходу (а выходит оно завтра), немного юмора: gem для написания "вежливого" кода на Ruby в канадском стиле (ведь, как все знают, канадцы - самые вежливые люди в мире, в чём и я лично сумел убедиться). Кстати, обратите внимание на исходный код этого решения - он совсем короткий и написан неидеально, но там есть интересные подходы, связанные с метапрограммированием https://github.com/notwaldorf/ruby-eh
GitHub
GitHub - notwaldorf/ruby-eh: Ruby for Canadians: an instruction manual.
:gem: Ruby for Canadians: an instruction manual. Contribute to notwaldorf/ruby-eh development by creating an account on GitHub.
В этом видео мы узнаем, как выдавать сообщения об ошибках, а также сообщения об успешных действиях с помощью flash. Также поговорим о стилизации приложения с помощью Bootstrap 5. Самостоятельно советую посмотреть, как
flash работает с render. Подсказка: вам может помочь flash.now. https://www.youtube.com/watch?v=8Vej-cKPdKAYouTube
Ruby on Rails 6/7, урок #4 | Сообщения для пользователя и стили
Продолжаем уроки по Ruby on Rails 6/7! В этом видео мы узнаем, как выдавать сообщения об ошибках, а также сообщения об успешных действиях с помощью flash. Также поговорим о стилизации приложения с помощью Bootstrap 5.
Таймкоды:
00:00 Введение
00:30 bundle…
Таймкоды:
00:00 Введение
00:30 bundle…
Вот буквально сегодня обсуждали разные препроцессоры для представлений, и я понял, что не все знают: ERb - это вовсе не единственный вариант для Rails. Есть, например, https://haml.info/ - он позволяет писать меньше разметки, а его философия напоминает CoffeeScript (важную роль играет вложенность, нет закрывающих ключевых слов и тп). Но лично мне кажется, что ERb несколько более предпочтителен, особенно если в команде есть отдельно верстальщик, который может просто не знать Haml. Хотя, безусловно, это решение тоже очень интересное. А вы как думаете? 🤓 P.S. Новое видео должно выйти завтра
Сегодня поговорим о том, что такое before_action, как обрабатывать ошибки в контроллерах с помощью rescue_from, как использовать concern, а также как выстраивать отношения "один-ко-многим" (one-to-many) с помощью has_many и belongs_to и управлять соответствующими записями. https://www.youtube.com/watch?v=1D_HUuWCamw
YouTube
Ruby on Rails 6/7, урок #5 | Отношение "один-ко-многим" и обработка ошибок
Продолжаем уроки по Ruby on Rails 6/7! Сегодня поговорим о том, что такое before_action, как обрабатывать ошибки в контроллерах с помощью rescue_from, как использовать concern, а также как выстраивать отношения "один-ко-многим" (one-to-many) с помощью has_many…
❤🔥1
Ну, и немного юмора в ленту сегодня (придумал недавно). Итак, внимание вопрос. По шуточному мнению одного комментатора, во время первой дозы вакцины вам вводят ИКСА, а во время - второй ИГРЕКА (причём, видимо, прямо в модной рубашке). Назовите ИКСА и ИГРЕКА.
Короткий рассказ о том, как фронт-энд делать не нужно https://meduza.io/shapito/2021/07/02/stoite-v-poluchasovoy-ocheredi-na-gosuslugah-zrya-okazyvaetsya-sayt-legko-obmanut-eto-delaetsya-v-paru-klikov
Meduza
Стоите в получасовой очереди на «Госуслугах»? Зря! Оказывается, сайт легко обмануть — это делается в пару кликов
Пользователи «Госуслуг» столкнулись с проблемами при входе на сайт — их отправляют в получасовую виртуальную очередь (Минцифры сообщило, что это связано с внедрением новых сервисов). Таймер обнуляется при каждом обновлении страницы.
Сюда тоже продублирую небольшую ремарку для последнего видео про отношения "один-ко-многим". Друзья, в видео закралась неточность, которую я просто-напросто забыл исправить. При создании метода show для вопросов на моменте 00:19:10, нужно не просто писать
Answer.order created_at: :desc (вот эта строка кода https://github.com/bodrovis-learning/RailsSeriesYT/blob/lesson_6/app/controllers/questions_controller.rb#L6), а всё-таки @question.answers.order created_at: :desc, чтобы вытащить не просто вообще ВСЕ ответы в принципе, а только те ответы, которые были написаны для КОНКРЕТНОГО вопроса. Спасибо зрителю Victor Malukhin за внимательность! Мне правда очень неловко, что я это дело как-то проморгал - в следующем видео (думаю, что уже завтра) это обсудим. Ну, собственно во избежание таких проблем каждый PR проверяется по крайней мере ещё одним разработчиком, так как время от времени даже авто-тесты от дурацких багов не спасают. Как говорится, тесты могут показать наличие багов в системе, но никак не их отсутствие.GitHub
RailsSeriesYT/questions_controller.rb at lesson_6 · bodrovis-learning/RailsSeriesYT
Серия уроков по Ruby on Rails на YouTube. Contribute to bodrovis-learning/RailsSeriesYT development by creating an account on GitHub.
https://markodenic.com/css-tips/ - всякие фишки и подсказки по CSS, любопытный материал
CSS Tips
CSS tips and tricks you will not see in most tutorials.
Продолжаем уроки по Ruby on Rails 6! В этом видео мы напишем несколько собственных вспомогательных функций (helpers) и узнаем, зачем они нужны. Кроме того, ещё немного поговорим о контроллерах и представлениях. https://www.youtube.com/watch?v=lm5SFwaob2U
YouTube
Ruby on Rails 6/7, урок #6 | Вспомогательные функции (helpers)
Продолжаем уроки по Ruby on Rails 6/7! В этом видео мы напишем несколько собственных вспомогательных функций (helpers) и узнаем, зачем они нужны. Кроме того, ещё немного поговорим о контроллерах и представлениях.
Таймкоды:
00:00 Введение
00:30 Исправление…
Таймкоды:
00:00 Введение
00:30 Исправление…
Этот урок по Ruby on Rails 6, в принципе, можно считать частью предыдущего. Мы поговорим о ряде других вспомогательных функций, в частности, strip_tags и sanitize. Кроме того, узнаем, как выносить часть разметки в отдельные представления и рендерить коллекции. Помимо этого, познакомимся с решением Faker для загрузки демо-данных и узнаем, как разбивать записи по страницам с помощью Kaminari. https://www.youtube.com/watch?v=FwFhxbx3W3k
YouTube
Ruby on Rails 6/7, урок #7 | Pagination, seeds, faker и пользовательская разметка
Этот урок по Ruby on Rails 6, в принципе, можно считать частью предыдущего. Мы поговорим о ряде других вспомогательных функций, в частности, strip_tags и sanitize. Кроме того, узнаем, как выносить часть разметки в отдельные представления и рендерить коллекции.…
В комментариях к одному видео оставлен резонный вопрос: в чём разница между
belongs_to и references в миграциях? Ответ простой: разницы нет, это синонимы https://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/Table.html#method-i-belongs_toapi.rubyonrails.org
ActiveRecord::ConnectionAdapters::Table
Active Record Connection Adapters Table Represents an SQL table in an abstract way for updating a table. Also see TableDefinition and connection.
Любопытное решение для стриминга динамических zip-файлов из Rails https://github.com/fringd/zipline
GitHub
GitHub - fringd/zipline: A gem that lets you stream a zip file from rails
A gem that lets you stream a zip file from rails. Contribute to fringd/zipline development by creating an account on GitHub.
Очередной урок по Ruby on Rails 6! Сегодня будет очень важное видео, в котором мы создадим систему регистрации пользователей с нуля, поговорим о решении bcrypt и о том, как работать с сессией. Кроме того, обсудим хелпер dom_id и узнаем, как использовать решение pagy для разбиения записей по страницам (это альтернатива kaminari). https://youtu.be/7bn0M4Br4hc
YouTube
Ruby on Rails 6/7, урок #8 | Регистрация пользователей с нуля, bcrypt, pagy
Очередной урок по Ruby on Rails 6/7! Сегодня будет очень важное видео, в котором мы создадим систему регистрации пользователей с нуля, поговорим о решении bcrypt и о том, как работать с сессией. Кроме того, обсудим хелпер dom_id и узнаем, как использовать…
Немного музыки на сон грядущий. На днях надеюсь всё-таки сделать урок про квиз на Ruby, ибо эта тема лежит в долгом ящике слишком уж долго 😁 https://www.youtube.com/watch?v=gnBATT60R9Q
YouTube
07 - Esta É De Loor - Ordo Funebris (Songs From The Enchanted Garden)
Lyrics/Letra
Santa Maria
Strela do dia
Mostra-nos via
Per a Deus e nos guia
Ca ver faze-los errados
Que perder foran per pecados
Entender de que mui culpados
Son; mais per ti son perdõados
Da ousadia
Que lles fazia
Fazer folia
Mais que non deveria.
Santa…
Santa Maria
Strela do dia
Mostra-nos via
Per a Deus e nos guia
Ca ver faze-los errados
Que perder foran per pecados
Entender de que mui culpados
Son; mais per ti son perdõados
Da ousadia
Que lles fazia
Fazer folia
Mais que non deveria.
Santa…
Может кого-то заинтересует вакансия: https://lokalise.com/job?gh_jid=4442031003&gh_src=53da413a3us (в нашу компанию требуется менеджер по маркетингу)
lokalise.com
Join us
We are a rapidly growing SaaS company, looking for new team members who want to grow with us. Take a look at our job openings and apply to join Lokalise.
Первое видео экспериментальной серии "Создаём игру-квиз на Ruby с помощью Gosu и MiniGL". Конечно, писать очень сложные трёхмерные игры на Ruby никто не будет, но вот сделать двухмерную бродилку или квиз вполне реально - для этого мы используем движок MiniGL, который, в свою очередь, основывается на Gosu. В первом видео мы обсудим этот движок, создадим конфигурацию, посмотрим, как отрисовывать объекты на игровом окне, проигрывать звуки, и работать с событиями. https://www.youtube.com/watch?v=fy1qwUeNSEo
YouTube
Пишем квиз на Ruby, часть #1 | MiniGL, Gosu, конфиги, основа игры
Первое видео экспериментальной серии "Создаём игру-квиз на Ruby с помощью Gosu и MiniGL". Конечно, писать очень сложные трёхмерные игры на Ruby никто не будет, но вот сделать двухмерную бродилку или квиз вполне реально - для этого мы используем движок MiniGL…
Если вы пишете сайт на Rails и хотите сгенерировать карту сайта, то лучшее решение - это, на мой взгляд, https://github.com/kjvarga/sitemap_generator. Его уже можно назвать проверенным временем (я его использую в своём блоге уже долгие годы), оно поддерживает разные хранилища для карт, позволяет "пинговать" поисковики и предлагает множество других фич. Очень советую!
GitHub
GitHub - kjvarga/sitemap_generator: SitemapGenerator is a framework-agnostic XML Sitemap generator written in Ruby with automatic…
SitemapGenerator is a framework-agnostic XML Sitemap generator written in Ruby with automatic Rails integration. It supports Video, News, Image, Mobile, PageMap and Alternate Links sitemap extensio...