You could group the data:
specs = Specialization.order("title ASC")
specs_by_first_letter = specs.group_by { |spec| spec.title[0] }
This returns a hash like:
{
"A" => [<Specialization title:"A...">, <Specialization title:"A...">],
"B" => [<Specialization title:"B...">, <Specialization title:"B...">],
...
"Z" => [<Specialization title:"Z...">, <Specialization title:"Z...">]
}
Looping through this hash should be quite easy. Note that some letters could be missing.