joins - це механізм у Ruby on Rails, який дозволяє об'єднувати дані з різних таблиць бази даних за допомогою SQL-запитів. Вони (joins'и) використовуються для отримання інформації зв'язаних моделей із зв'язаними даними.
Приклад використання методу joins:
class User < ApplicationRecord has_many :posts end class Post < ApplicationRecord belongs_to :user end # Отримати всіх користувачів та всі їх пости users = User.joins(:posts) users.each do |user| puts "User: #{user.name}" user.posts.each do |post| puts "Post: #{post.title}" end end
У прикладі ми використовуємо joins(:posts), щоб отримати всіх користувачів разом з їх пов'язаними постами. Ця конструкція створить та виконає SQL-запит, який об'єднує таблиці users і posts за зовнішнім ключем user_id.
joins дозволяє ефективно отримувати дані з різних таблиць, використовуючи зв'язки між моделями. joins робить ваш код більш ефективним і зручним для роботи з даними з різних таблиць. Це може звучати абстрактно. Але для оптимізації (зменшення) кількості запитів до бази даних треба використовувати найкращі SQL запити.
joins - це query-метод модуля Active Record Query Interface вбудованного у Ruby on Rails. Якщо коротко - це набір методів, які дозволяють не писати чистий SQL. Щоб зрозуміти як працють методи модуля Active Record Query Interface - треба мати принаймні базові знання SQL.