rails

A collection of 22 posts
mailcatcher
ruby

mailcatcher

Конечно да, можно использовать обычную почту, но для облачных IDE или изолированных контейнеров LXC или для DOCKER окружения удобней будет подменять SMTP и смотреть почту локально или в браузере. Особенно удобно когда работаем дистанционно через облако. Начиная с 2023 года использую maildev. Удобно и просто. Отдельно как сервис или в
2 min read
Rails фоновые задачи с Sidekiq
rails

Rails фоновые задачи с Sidekiq

Допусти нам нужно по требованию выполнить импорт данных из CSV и отобразить результаты. При стандартном подходе в контроллере создадим метод  и выполним обработку файла. class HomeController < ApplicationController require 'csv' def upload csv_path = File.join Rails.root, 'db', 'data.csv' CSV.foreach(csv_
1 min read
Rails TimeZone
rails

Rails TimeZone

Ruby предлагает два класса для управления временем: Time и DateTime. TZInfo является отдельной библиотекой часовых поясов, которая обеспечивает преобразования с учетом перехода на летнее время и включает в себя данные о 582 различных часовых поясах. Часовой пояс в Rails В Rails ActiveSupport::TimeZone является оберткой для TZInfo, предоставляющая набор из
2 min read
rails

OmniAuth Rails

OmniAuth - библиотека стандартизирующая аутентификацию через различных провайдеров  в веб-приложении. Библиотека создавалась чтобы быть мощной, гибкой и в тоже время "маленькой" насколько это возможно. Любой разработчик может создать стратегию для OmniAuth которая сможет аутентифицировать пользователей из разных несовместимых между собой систем (приложений). OmniAuth стратегии создаются для любых случаев
2 min read
rails

Rails Slim Markdown Tables

По умолчанию парсер таблиц отключен. И вместо таблиц будет обычная строка. Включить обработку разметки таблиц в связке Rails+Slim+Redcarpet можно через опции подключаемых движков. В данном случае Redcarpet для Markdown. Gemfile gem 'slim-rails' gem 'redcarpet' По умолчанию парсер таблиц отключен. config/initializers/slim.rb # Standard
Некоторые типы данных Rails
rails

Некоторые типы данных Rails

Широко распространенные типы данных в Rails. Гео-координаты и деньги. Гео-данные - координаты точки на карте. Деньги - стоимость товаров и услуг, прайс-лист, финансовые данные. Пример для PostgreSQL. Правильный тип данных имеет важное значение для работы и поддержки приложения.   Гео-данные rails g Location 'lng:decimal{10,6}' 'lat:
1 min read
Rails - текущая страница?
rails

Rails - текущая страница?

Варианты определения текущей страницы в Rails. Абсолютно стандартная задача в любом веб-приложении. Есть разные варианты определения текущей страницы, по факту текущего URL. Чаще всего используется изменения стилей элементов навигации или подключения разных ресурсов на разные страницы сайта. Использовать params[:id] = link_to 'My', my_path, class: ['navbar-item&
1 min read
Railties
rails

Railties

Rails::Railtie это основа Rails фреймворка, а также некоторые хуки для расширения Rails и/или модификации процесса инициализации. Каждый важный компонент Rails (Action Mailer, Action Record, Action Controller и др.) реализуют Railtie (являются под-классами). Каждый отвечает за свою собственную инициализацию. Это позволяет Rails не иметь каких-либо собственных хуков для компонентов,
1 min read