Saeloun Blog
Planning Rails Upgrade - A Strategic Guide
Accessibility Best Practices for Consultancy Websites
Rails Native Composite Primary Keys: A Complete Evolution from Rails 3 to Rails 8
A Guide to Web Application Monitoring
Non‑Blocking IO.select in Ruby: Introduction to Fiber::Scheduler#io_select
Customizing Rails Migrations with Execution Strategies
How to Clean Up Your Rails Logs: Ignoring Benign SQL Warnings
UI/UX Audit Checklist Before Redesigning a Site
Rails 8 enhances ActiveStorage::Blob#open to work without a block
Building Personas for B2B Consultancy Websites
Rails makes error reporting tests easier in Rails 7.1
Customizing Rails Migrations with Execution Strategies
Rails 8 adds conditional allow_nil and allow_blank in model validations
Lexxy - The next generation rich text editor for Rails
Rails Decouples Trix From Action Text Into action_text-trix gem
Rails 8 does not include redis by default in the dev container.
Rails now allows associations to be marked as deprecated using deprecated: true
New features in ECMAScript 2025
Rails uses self-join for UPDATE with outer joins on PostgreSQL and SQLite
Rails 8 adds built in authentication generator
Rails stops generating bundler binstub(bin/bundle)
React 19 Ref Updates - Prop Support & Cleanup Function!
Rails 8 Removes Channels From Default App Structure.
Rails Introduces ActiveModel::Attributes::Normalization