Frozen hash?

Hi, having this models:

class Formation < ActiveRecord::Base
  has_many :positions, :dependent => :destroy
end

class TeamFormation < Formation
  has_many :players, :through => :positions
end

class Position < ActiveRecord::Base
  belongs_to :formation
  belongs_to :player
end

I'm trying to modify position's player attribute from a formation:

    team.players.each do |player|
      self.positions.each do |position|
        if !self.players.include?(player) and !position.player
          position.player = player <------------ HERE I'M TRYING TO
MODIFY PLAYER
          break
        end
      end
    end

The first time I create a formation an asign those values all works
fine, but once it's created I
can't modify position's player attr because "can't modify frozen hash"
error is raised.

How could I modify those values?, what am I doing wrong?