Spróbuj tego:
default_scope { order('collections.id ASC') } //collection.rb
default_scope { order('components.id ASC') } //component.rb
Kiedy wykonujesz join rosnąco na id staje się ambiguous kolumna, ponieważ oba components i collections mieć id kolumna. Nie będzie wiedział, którego użyć.