0
我在轨道单元测试中出现了相当奇怪的错误。 我有以下的测试,由于某种原因失败:失败的名字和姓氏正则表达式测试
should_not allow_value('@!>::<>').for(:first_name)
和下面的验证在我的模型:
validates_format_of :first_name, :last_name, with: (/[\w]*/), allow_blank: true
任何想法,为什么测试失败?
PS:错误似乎当我改变了*
到+
在正则表达式...但为什么走开!
是的,我刚刚在您发布的regular-expressions.info上阅读它。谢谢您的回答。 – foklepoint 2013-03-02 21:10:27
你应该使用'\ A'和'\ z',而不是'^'和'$'。前者是**输入**的开始和结束,而后者是**行**的开始和结束,所以例如名称“Bob \ nDole”会快乐地匹配'^ \ w + $',但是将不匹配'\ A \ w + \ z'。 – charleyc 2013-03-02 21:38:32