Trong bản cập nhật mới nhất của, Rails 7.1 đã cho phép chúng ta query select theo giá trị hash chứ không cần phải sử dụng raw SQL nữa.
💎 Improvements:
1️⃣ New support query với giá trị Hash
2️⃣ Chúng ta không cần phải dùng truy vấn raw version nữa
💎 Bonus:
1️⃣ Cú pháp mới cũng support chúng ta sử dụng alias
2️⃣ Sử dụng tương tự cho ActiveRecord#reselect
Ruby
# Before Rails 7.1
Post.joins(:comments)
.select(
"posts.id as post_id, posts.title as post_title,
comments.id as comment_id, comments.body as comment_body"
)
Post.joins(:comments).select(:id, :title, "comments.body")
# After Rails 7.1
Post.joins(:comments)
.select(
posts: { id: :post_id, title: :post_title },
comments: { id: :comments_id, body: :comment_body }
)
Post.joins(:comments).select(:id, :title, comments: [:body] )