好的我有一個名爲輪胎模型,我不能對一些保留名稱如何在軌中獲取保存的值?
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