我有一些形式,我將params傳遞給update_attributes。還有一些值,它是一個整數(在數據庫中),但在形式上它是一個文本,我想在before_validation中解析它。在驗證之前,Rails是否會自動執行轉換?
控制器:
@organization.update_attributes(params[:organization])
型號:
before_validation do
logger.info(self.capital.to_s)
return if self.capital.blank?
self.capital = self.capital.gsub(/([$\,\s]|\.\d+)/, '') unless self.capital.is_a?(Fixnum)
self.capital = nil if self.capital < 1
end
的問題是,我希望在before_validation
,即self.capital仍然是一個字符串。但它是一個整數。所以在Rails自動執行.to_i
轉換之前。我怎樣才能防止/解決這個問題?