includes
metode AREL akan memilih antara dua strategi untuk membuat kueri, salah satunya hanya melakukan dua kueri yang berbeda dan yang lainnya melakukan INNER JOIN. Dalam kedua kasus, produknya akan berbeda.
Anda harus melakukan penggabungan luar kanan secara manual:
Product.joins('RIGHT JOIN categories ON categories.product_id = products.id').where(categories: { id: @my_product.categories.pluck(:id) } )
menambahkan juga .preload(:categories)
jika Anda ingin terus memuat kategori dengan bersemangat.