I can't see what I'm missing, but something is obviously not right. In model: validates :terms, :acceptance => true, :on => :update Trying a few options: >> a = Factory(:blog_agreement) => #<BlogAgreement id: 54, terms: false, created_at: "2011-01-20 11:33:03", updated_at: "2011-01-20 11:33:03", accept_code: "fa27698206bb15a6fba41857f12841c363c0e291", user_id: 874> >> a.terms => false >> a.terms =