好的我有一个名为轮胎模型,我不能对一些保留名称如何在轨中获取保存的值?
class Tire < ActiveRecord::Base
RESERVED_TIRES = ['Michelin', 'Good Year', 'Firestone']
before_update :reserved_tires
def reserved_tires
if RESERVED_TIRES.include?(self.name)
self.errors.add(:base, "Cant be changed")
false
end
end
end
更新名称字段,我需要不允许用户更新任何字段是当前的名字是保留字.. 。当用户更新名称时,此功能适用于其他所有字段。
例如,用户更新为“Michelinnn”,则允许更新,因为self.name是“Michelinnnn”,而不是“Michelin”,保存在DB中。关于如何解决这个问题的任何想法
我怎么会在这种情况下添加约束 – Trace 2012-04-15 17:50:04
你能不能使用回调中的id读取现有的数据库记录并进行比较?或者,正如Leventix所建议的那样使用name_was。 – 2012-04-15 17:53:57