If you get an ActiveRecord::RecordNotSaved error, a method inside one of your model's callback chains (before_save etc) possibly returned false.
This commonly happens when you have a method setting attributes and the last one is a boolean set to false (as the value of the last statement is returned). Fix this by simply calling true at the end of such methods:
def hide
self.visible = false
true
end
Note that nil won't cause this behavior. Thus, you can use an if without problems -- if you are not returning false inside.
Posted by Arne Hartherz to makandra dev (2010-10-11 16:47)