Where to validate?


#1

class PgmUpdate < ActiveRecord::Base
has_many :pgm_visits

class PgmVisit < ActiveRecord::Base
belongs_to :pgm_update

I am trying to make sure that none of the visits in PgmUpdate overlap
start and end dates. Should this validation exist in PgmUpdate or the
controller? It seems natural to put them in PgmUpdate, but I must
force the relationship together because there is no PgmVisit.id until
the record is saved and I do not want to save it until a later stage.
Any suggestions?

-John


John S.
Computing Staff - Webmaster
Kavli Institute for Theoretical Physics
University of California, Santa Barbara
removed_email_address@domain.invalid
(805) 893-6307


#2

You could put the validation on PgmVisit. Just add validation to check
that
all other visits (pgm_update.pgm_visits) don’t contain dates that
overlap
with the one you are trying to save.

Should be straight forward.

-Jonathan.