测试字符串是否可以降级?

时间:2012-11-03 17:45:34

标签: ruby-on-rails activerecord

我有一个Feature模型,我在其中添加了一个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

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

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用以下命令替换downcase_value方法主体:

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

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

record.value.to_s.downcase!