我有一些表格,我将参数传递给 update_attributes。还有一些值,它是一个整数(在数据库中),但在形式上它是一个文本,我想在 before_validation 中解析它。
控制器:
@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
强制转换之前的某个地方。我该如何预防/解决这个问题?