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?