Justin Reagor on 24 Jan 2008 10:58:48 -0800


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PhillyOnRails] ActiveRecord: updating a single attribute

  • From: Justin Reagor <justinwr@gmail.com>
  • To: talk@phillyonrails.org
  • Subject: Re: [PhillyOnRails] ActiveRecord: updating a single attribute
  • Date: Thu, 24 Jan 2008 13:58:10 -0500
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:mime-version:in-reply-to:references:content-type:message-id:content-transfer-encoding:from:subject:date:to:x-mailer; bh=n0xBMqppL65m0KL6pBe92zTjiDgrgFc4ELxFxLC89RE=; b=xC+fI4QJjrEQ50B4WjiSlj9dBXRbRy9fsSvh13r2tNq9YhnX/oOA3jt05uqvWQ5S9WzM5Z0HEWGogZ/TUkOyHP0IsdJd/YSc70XHmAeL7P8uti8cIO10K91WprGQt+Ji7ZExr7mts4vuIe6Utr1ZTGDzfWLBsrtAUdVyv0RRFM8=
  • List-archive: <http://lists.phillyonrails.org/pipermail/talk>
  • Reply-to: talk@phillyonrails.org
  • Sender: talk-bounces@phillyonrails.org

I was going to say the same thing... that still updates every column... :(

On Jan 24, 2008, at 1:52 PM, Adam Lamar wrote:

Perhaps you could try
model.update_attribute_with_validation_skipping(name, value) ?

http://api.rubyonrails.org/classes/ActiveRecord/ Validations.html#M001313

Adam

On 1/24/08, Grant Ammons <grant@fakeboard.com> wrote:
Are we talking about validations on the DB or app side?

If we follow DHH's opinions, validations should occur on the app side, hence
rails validations.

model.valid? seems like a good way of enforcing validations on the app side,
thus removing the need to pass to db to validate a model.

-Grant


On Jan 24, 2008 11:48 AM, Evan Weaver < evan@cloudbur.st> wrote:
You can't enforce validations if you don't resave every attribute every
time.

Evan


On Jan 24, 2008 12:33 PM, Chris Cera <chris@cera.us> wrote:



Hi everyone,

Is there a way to update just one attribute of a record without
causing all the attributes to be re-set?  When I use the
update_attribute() or increment(), since they call save() it
causes every attribute to get re-set.  I verified this in the
mysql 'General Query Log'.  Example:
    item.update_attribute(:normal_views, item.normal_views + 1)

I feel that there must be a more elegant solution than this:
sql = 'UPDATE documents SET normal_views = normal_views + 1 WHERE id
= ' + item.id.to_s
    ActiveRecord::Base.connection.update(sql)

Any suggestions are greatly appreciated.  Thank you, -Chris

ref:
http://api.rubyonrails.org/classes/ActiveRecord/Base.html

--
Christopher D. Cera
CTO, Hovitate LLC
http://vuzit.com
P: 215.435.2289
F: 267.295.7369
_______________________________________________
To unsubscribe or change your settings, visit:
http://lists.phillyonrails.org/mailman/listinfo/talk




--
Evan Weaver
Cloudburst, LLC



_______________________________________________
To unsubscribe or change your settings, visit:
http://lists.phillyonrails.org/mailman/listinfo/talk



_______________________________________________
To unsubscribe or change your settings, visit:
http://lists.phillyonrails.org/mailman/listinfo/talk


_______________________________________________
To unsubscribe or change your settings, visit:
http://lists.phillyonrails.org/mailman/listinfo/talk

_______________________________________________
To unsubscribe or change your settings, visit:
http://lists.phillyonrails.org/mailman/listinfo/talk