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.