Problema con validates_associated

mi succede una cosa strana con questo validation helper

la situazione è molto semplice… due modelli

class Team < ActiveRecord::Base
validates_presence_of :name
validates_associated :players
has_many :players, :dependent => :delete_all
end

class Player < ActiveRecord::Base
validates_presence_of :name
belongs_to :team
end

cosi facendo evito di salvare squadre con giocatori non validi…

ora però ecco un test in console

t = Team.new
=> #<Team:0xb741f598 @attributes={“name”=>nil}, @new_record=true>
t.players << Player.new
=> [#<Player:0xb73d60c8 @attributes={“team_id”=>nil, “name”=>nil},
@new_record=true>]
t.save
=> false
t.errors.length
=> 3
t.errors.each { |att, mex| puts att + “—>” + mex }
name—>can’t be blank
players—>is invalid
players—>is invalid
=> {“name”=>[“can’t be blank”], “players”=>[“is invalid”, “is invalid”]}

come è facilmente scrutabile, gli errori che mi da sono 3, di cui due su
players…

ora mi chiedo… MA PERCHE??

se provo a mettere dentro players due giocatori “fake”, gli errori
diventano
4

cè un motivo in tutto questo?? (nelle api di rails non cè scritto nulla in
proposito
http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#M000948
)


everything has got to end sometime we were satellites drifting off into
space
vega 4 - burn and fade away