The problem is that you are trying to join the attribute of the objects, not the objects themselves. Gathering is the best way I know this. But I would use the to_sentence method to_sentence Rails provides the conversion of arrays exactly like this:
Category.find(:all,:select => "name").collect { |c| c.name }.to_sentence
source share