2
我不能夠訪問該值,如 'validates_with'選項
我的模型選項傳遞:
class Person < ActiveRecord::Base
include ActiveModel::Validations
attr_accessible :name, :uid
validates :name, :presence => "true"
validates :uid, :presence => "true"
validates_with IdValidator, :attr => :uid
我的自定義驗證:
Class IdValidator < ActiveModel::Validator
def validate(record)
puts options[:attr]
...
...
end
end
對於測試目的,我正在打印「options [:attr]」,我看到的只是終端中的「:uid」,而不是其中的值。請幫忙!
'puts record.uid'在我的模型中執行'validates_with IdValidator'時會起作用。當我有一個選項並且我想要訪問它時,問題就會出現。 – Gooner 2012-08-01 03:42:43
我這樣做是因爲我打算讓我的驗證器幹掉,並允許不同的模型訪問相同的自定義驗證器。在另一個模型中,名稱'uid'可能具有不同的名稱。 – Gooner 2012-08-01 03:46:05
那麼你要找的是'validates_with IdValidator,:attr => self.uid',我想? – workergnome 2012-08-01 13:56:33