# Problema con validates\_associated

**URL:** <https://www.ruby-forum.com/t/problema-con-validates-associated/108814>\
**Category:** IT\
**Created:** [July 7, 2007, 3:14pm UTC](https://www.ruby-forum.com/t/problema-con-validates-associated/108814 "2007-07-07T15:14:41Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![tarini](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/5f8ce5/32.png) [@tarini](https://www.ruby-forum.com/u/tarini)\
**Post date:** [July 7, 2007, 3:14pm UTC](https://www.ruby-forum.com/t/problema-con-validates-associated/108814/1 "2007-07-07T15:14:41Z")

</div>

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](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
