# Validating linked ActiveRecords without saving them in DB

**URL:** <https://www.ruby-forum.com/t/validating-linked-activerecords-without-saving-them-in-db/126000>\
**Category:** Rails\
**Created:** [January 14, 2008, 3:59pm UTC](https://www.ruby-forum.com/t/validating-linked-activerecords-without-saving-them-in-db/126000 "2008-01-14T15:59:25Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![kadoudal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f0a364/32.png) [@kadoudal](https://www.ruby-forum.com/u/kadoudal)\
**Post date:** [January 14, 2008, 3:59pm UTC](https://www.ruby-forum.com/t/validating-linked-activerecords-without-saving-them-in-db/126000/1 "2008-01-14T15:59:25Z")

</div>

I would like to create new records

@user = User.new(params[:user])  
@activity = Activity.new(params[:activity])  
…

then validating them without saving to the DB… (as saving one depend  
upon saving others…)

or should I use a transaction with rollback ?o  
or  
use validates\_associated …

or both … or ?

thanks

kad

---

<div class="post-metadata">

**Author:** ![kadoudal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f0a364/32.png) [@kadoudal](https://www.ruby-forum.com/u/kadoudal)\
**Post date:** [January 14, 2008, 4:23pm UTC](https://www.ruby-forum.com/t/validating-linked-activerecords-without-saving-them-in-db/126000/2 "2008-01-14T16:23:58Z")

</div>

On 14 Jan 2008, at 14:59, Kad K. wrote:

> or should I use a transaction with rollback ?o  
> or  
> use validates\_associated …

foo.valid? ?

Fred

---

<div class="post-metadata">

**Author:** ![kadoudal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f0a364/32.png) [@kadoudal](https://www.ruby-forum.com/u/kadoudal)\
**Post date:** [January 14, 2008, 4:35pm UTC](https://www.ruby-forum.com/t/validating-linked-activerecords-without-saving-them-in-db/126000/3 "2008-01-14T16:35:47Z")

</div>

On Jan 14, 2008, at 3:59 PM, Kad K. wrote:

> @user = User.new(params[:user])  
> @activity = Activity.new(params[:activity])  
> …
> 
> then validating them without saving to the DB… (as saving one depend  
> upon saving others…)
> 
> or should I use a transaction with rollback ?o  
> or  
> use validates\_associated …

User validates\_associated :activity.

@user = User.new(params[:user])  
@user.build\_activity(params[:activity])  
if @user.save # saves both, runs in a transaction  
…  
end

– fxn
