Ruby on rails 测试字符串是否可以下套管?

Ruby on rails 测试字符串是否可以下套管?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有一个要素模型,我在其中添加一个“保存前”: before_save {|feature| downcase_value(feature) } def downcase_value(record) record.value.downcase! end 这很好,除非我在列中保存了日期,在这种情况下,我会得到一个错误: undefined method `downcase!' for Tue, 06 Feb 1996:Date 所以我的问题是-我如何测试这个值是否可以被最有效

我有一个要素模型,我在其中添加一个“保存前”:

before_save {|feature|
    downcase_value(feature)
}

def downcase_value(record)
    record.value.downcase!
end
这很好,除非我在列中保存了日期,在这种情况下,我会得到一个错误:

undefined method `downcase!' for Tue, 06 Feb 1996:Date
所以我的问题是-我如何测试这个值是否可以被最有效地分解


谢谢

您可以将downcase_值方法主体替换为:

record.value.downcase! if record.value.respond_to? :downcase!
但如果要保存任何值,只需按以下方式修改代码:

record.value.to_s.downcase!