Coba ini:
default_scope { order('collections.id ASC') } //collection.rb
default_scope { order('components.id ASC') } //component.rb
Saat Anda melakukan join naik pada id menjadi ambiguous kolom karena keduanya components dan collections punya id kolom. Ia tidak akan tahu mana yang harus digunakan.