Improve a way to handle errors for collection nested attributes

Example:

    Employment.validates :company, :presence => true
    Developer.has_many :employments
    d = Developer.new
    2.times { d.employments.build }
    d.valid?
    d.errors.messages

Old result:
    {
      :"employments.company"=>["can't be blank"],
      :email=>["can't be blank"],
      :password=>["can't be blank"]
    }

New result:
    {
      :"employments[0].company"=>["can't be blank"],
      :"employments[1].company"=>["can't be blank"],
      :email=>["can't be blank"],
      :password=>["can't be blank"]
    }