Domanda sulla validazione


#1

buona sera a tutti,
mi è sorto un dubbio sul meccanismo di validazione di rails.

Parto sempre da un problema relativo al mio forum-demo.

Nel momento in cui creo un topic eseguo questo codice:
@topic = Topic.new params[:topic]
@topic.user = session[:user]
@topic.forum = @forum
@post = Post.new params[:post]
@post.user = session[:user]
@topic.posts << @post

Tramite le dichiarazioni validates_* controllo che il title del topic e
il
content del post siano valorizzati.
Nel momento in cui chiamo @topic.save lo script salva su db non solo il
topic ma anche il post.

Ma la validazione viene effettuata sia sul “padre” che sul “figlio” ??
In
caso positivo gli errori dove vengono salvati (entrambi in
@topic.errorsoppure uno in @
topic.errors e uno in @post.errors)??

thanks


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


#2

Per validare il figlio puoi usare il metodo
ActiveRecord::Validations::ClassMethods#validates_associated(*attr_names)

per vedere dove vengono salvati gli errori basta fare un test

tarini wrote:

Tramite le dichiarazioni validates_* controllo che il title del topic e
il
content del post siano valorizzati.
Nel momento in cui chiamo @topic.save lo script salva su db non solo il
topic ma anche il post.

Ma la validazione viene effettuata sia sul “padre” che sul “figlio” ??
In
caso positivo gli errori dove vengono salvati (entrambi in
@topic.errorsoppure uno in @
topic.errors e uno in @post.errors)??