2013-06-27 62 views
1
class User < ActiveRecord::Base 
    attr_accessible :email, :name 
    validates :name,:presence=>true, 
           :length=>{:maximum=>15} 
    validates :email,:presence=>true, 
           :length=>{:maximum=>15} 

end 

我是新来的rails和最简单的验证器不工作。我想我可能犯了一个非常愚蠢的错误。我有一个用户模型只有2个属性,当我在ruby控制台中创建一个新的用户,如错误的验证,如没有名称或超过15个字符的长名称,它会被愉快地添加请建议。我使用rails版本:3.2.13和ruby版本:1.9.3Rails简单验证不起作用

+0

你重新启动Rails的服务器或控制台添加验证后查看验证错误?你确定记录实际上是添加到数据库吗? ('User.all'列出你添加的记录吗?) – Domon

+0

如果你对电子邮件说':presence => false',为什么不删除列本身? – 2013-06-27 06:42:50

+0

感谢您指出。现在在这里编辑 – user2526795

回答

2

如果您在导轨控制台上,请务必在对模型进行更改后键入reload!。通过这种方式,所有更改都将在控制台实例中重新加载。

此外,你确定你保存这些模型?你应该尝试这样的事:

user = User.new(email: "[email protected]") 
user.save 

如果最后一行的结果是false,你可以用

p user.errors 
+0

嘿谢谢:) ..我得到了我的结果 – user2526795