# Validate if different?

**URL:** <https://www.ruby-forum.com/t/validate-if-different/55872>\
**Category:** Rails\
**Created:** [March 24, 2006, 2:07pm UTC](https://www.ruby-forum.com/t/validate-if-different/55872 "2006-03-24T14:07:19Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![steveoco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/db5fbb/32.png) [@steveoco](https://www.ruby-forum.com/u/steveoco)\
**Post date:** [March 24, 2006, 2:07pm UTC](https://www.ruby-forum.com/t/validate-if-different/55872/1 "2006-03-24T14:07:19Z")

</div>

Hi, I seem to remember seeing the equivalent of saving only if all  
attributes are different. I can’t seem to find that now in the API or  
the  
agile book.

I’m using the acts\_as\_versioned and only want to save if the input is  
different.

Thanks,

Steve  
[http://www.smarkets.net](http://www.smarkets.net)

---

<div class="post-metadata">

**Author:** ![steveoco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/db5fbb/32.png) [@steveoco](https://www.ruby-forum.com/u/steveoco)\
**Post date:** [March 24, 2006, 8:39pm UTC](https://www.ruby-forum.com/t/validate-if-different/55872/2 "2006-03-24T20:39:19Z")

</div>

you can simple compare posted hash with the database record, i.e.  
something  
like that

if (Model.find(id) == params[:model]) …

---

<div class="post-metadata">

**Author:** ![steveoco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/db5fbb/32.png) [@steveoco](https://www.ruby-forum.com/u/steveoco)\
**Post date:** [March 24, 2006, 8:42pm UTC](https://www.ruby-forum.com/t/validate-if-different/55872/3 "2006-03-24T20:42:24Z")

</div>

Thanks, Emin. Yes, that would work, but I thought I read someplace  
onetime  
there was a built-in method that woul do this.

Steve

---

<div class="post-metadata">

**Author:** ![steveoco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/db5fbb/32.png) [@steveoco](https://www.ruby-forum.com/u/steveoco)\
**Post date:** [March 24, 2006, 8:50pm UTC](https://www.ruby-forum.com/t/validate-if-different/55872/4 "2006-03-24T20:50:19Z")

</div>

never used acts\_as\_versioned, but quick look to api shows “changed?”  
method  
which should be what you are looking for

[http://ar-versioned.rubyforge.org/classes/ActiveRecord/Acts/Versioned/ActMethods.html#M000010](http://ar-versioned.rubyforge.org/classes/ActiveRecord/Acts/Versioned/ActMethods.html#M000010)

---

<div class="post-metadata">

**Author:** ![steveoco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/db5fbb/32.png) [@steveoco](https://www.ruby-forum.com/u/steveoco)\
**Post date:** [March 24, 2006, 8:59pm UTC](https://www.ruby-forum.com/t/validate-if-different/55872/5 "2006-03-24T20:59:10Z")

</div>

Right on. Thanks Emin.
