我有一些形式,我将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
转换之前。我怎样才能防止/解决这个问题?