0

我有一个功能模型,我在其中添加了一个 before_save:

before_save {|feature|
    downcase_value(feature)
}

def downcase_value(record)
    record.value.downcase!
end

这很好用,除非我在列中保存了一个日期,在这种情况下我得到一个错误:

undefined method `downcase!' for Tue, 06 Feb 1996:Date

所以我的问题是 - 我如何测试该值是否可以最有效地缩小?

4

1 回答 1

2

您可以将 downcase_value 方法体替换为:

record.value.downcase! if record.value.respond_to? :downcase!

但是如果你想保存任何值,只需这样修改你的代码:

record.value.to_s.downcase!
于 2012-11-03T17:53:34.697 回答