From 6d8fc26ce860259d05d4655af584641e4bf33554 Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Tue, 31 Aug 2010 00:14:49 +0100 Subject: Fix the readonly section --- railties/guides/source/active_record_querying.textile | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'railties/guides/source/active_record_querying.textile') diff --git a/railties/guides/source/active_record_querying.textile b/railties/guides/source/active_record_querying.textile index 811f45d8b3..70a0ab9fcb 100644 --- a/railties/guides/source/active_record_querying.textile +++ b/railties/guides/source/active_record_querying.textile @@ -509,22 +509,16 @@ This will return single order objects for each day, but only for the last month. h4. Readonly Objects -To explicitly disallow modification/destruction of the matching records returned in a Relation object, you could chain the +readonly+ method as +true+ to the find call. - -Any attempt to alter or destroy the readonly records will not succeed, raising an +ActiveRecord::ReadOnlyRecord+ exception. To set this option, specify it like this: - - -Client.first.readonly(true) - - -For example, calling the following code will raise an +ActiveRecord::ReadOnlyRecord+ exception: +Active Record provides +readonly+ method on a relation to explicitly disallow modification or deletion of any of the returned object. Any attempt to alter or destroy a readonly record will not succeed, raising an +ActiveRecord::ReadOnlyRecord+ exception. -client = Client.first.readonly(true) -client.locked = false +client = Client.readonly.first +client.visits += 1 client.save +As +client+ is explicitly set to be a readonly object, the above code will raise an +ActiveRecord::ReadOnlyRecord+ exception when trying to calling +client.save+ with an updated value of _visists_. + h4. Locking Records for Update Locking is helpful for preventing race conditions when updating records in the database and ensuring atomic updates. -- cgit v1.2.3