Gerai, jau gal antrą ar trečią kartą taip išsidūriau, tai dabar užsirašysiu :-)

Rails modelyje before_* callback’ai neturi grąžinti false arba nil, nes įrašas nebus išsaugojamas.

Pvz.:

before_save :set_gmap_available
# ...
 
# šis pavyzdys blogas: tais atvejais, kai latitude
# arba longitude atributai nenurodyti, modelis neišsaugojamas.
def set_gmap_available
  self.gmap_available = !(self.latitude.blank? || self.longitude.blank?)
end

O turėtų būti:

def set_gmap_available
  self.gmap_available = !(self.latitude.blank? || self.longitude.blank?)
  true
end

O jau buvau besiraunąs plaukus nuo galvos kodėl neišsaugo formos, kurių modeliai 100% validūs… :-)