2013-12-13 64 views
0

我有如何在模型之外使用ActiveRecord驗證器?

validates :content, length: { in: 1..400 } 

在我看來,一個ActiveRecord的驗證,我想通過參考驗證器(這樣,我就不會超過設定的400的值,顯示其最大允許字符長度(400)一個地方)。我正在使用Rails 4.關於什麼是一個好方法的任何建議?謝謝。

回答

1
Model.validators_on(:content).find{|v| v.class == ActiveRecord::Validations::LengthValidator}.options[:maximum] 
+0

在Rails 4驗證被轉移到ActiveRecord,所以我認爲它應該是'Model.validators_on(:content).find {| v | v.class == ActiveRecord :: Validations :: LengthValidator} .options'並獲取最大的'Model.validators_on(:content).find {| v | v.class == ActiveRecord :: Validations :: LengthValidator} .options [:maximum]' – engineersmnky

+0

@engineersmnky:修改我的答案。感謝您指出這一點 – usha

+0

因爲我們在Ruby中竊聽,我也喜歡:'Model.validators_on(:content).find {| v | v.class.name [/ LengthValidator /]} .options' –