Did some more investigation. Sounds like this was intended in the
codebase. However it us a good feature to have.
A clarification the updates does happen if one of the properties is
changed as well as changed_attributes hash does have value then. Thus
in above case if name is changed as well, then change goes through,
otherwise if only email is changed, update does not go through.
I did the following modification, to allow for updates on non-
properties as well. I add the line in couchrest_model-1.1.2/lib/
couchrest/model/properties.rb [line: 113]
def directly_set_attributes(hash, mass_assign = false)
return if hash.nil?
hash.reject do |key, value|
elsif mass_assign || mass_assign_any_attribute
Add Here=> couchrest_attribute_will_change!(key) if use_dirty? &&
self[key] != value
self[key] = value
Is this Ok or does it have some unintended side-effects as well.