2013-04-20 64 views
0

我尝试在MongoMapper来验证一个字符串:Mongomapper:最小:最大主场迎战:长度

key :title,  String, :require => true, :length => 4..30 

而且我总是错误“的标题是太短(最小为4个字符)”的时该字符串比4个字符长。

如果我尝试它

key :title,  String, :require => true, :minimum => 4, :maximum => 30 

,并为例外它的工作。有人能解释为什么会发生这种情况,或者为什么第一件事是错的

回答

0

MongoMapper使用Activerecord验证。从它们的文档:validates :password, :length => { :in => 6..20 }因此,您必须使用:in来表示您正在使用范围。请参阅http://guides.rubyonrails.org/active_record_validations_callbacks.html#length

+0

Okey但是当我使用mongomapper函数时发生了什么:长度与范围有关,因为在文档中我只找到“:length - 传递给validates_length_of的整数,范围或哈希”,我认为是4。 .30传递给: – 2013-04-20 19:17:45

+0

是的,但您正在进行验证。这与对象#长度不同。它使用Activerecord验证 – 2013-04-22 20:51:45