我正在尝试学习自定义验证。以下是简单的代码:
class User < ActiveRecord::Base
validates :username, presence: true,length: { in: 6..20 }
validate :name_cannot_be_tushar
def name_cannot_be_tushar
if username == "Tushar"
errors.add(:username, "can't be Tushar")
end
end
end
当我尝试通过rails console插入数据时,
2.3.0:014&gt; User.create(用户名: “图莎尔”,密码: “ABC”) (0.1ms)开始交易 SQL(0.4ms)INSERT INTO“users”(“username”,“password”,“created_at”,“updated_at”)VALUES(?,?,?,?)[[“username”,“Tushar”],[“密码“,”ABC“],[”created_at“,”2016-04-14 09:23:14.077264“],[”updated_at“,”2016-04-14 09:23:14.077264“]] (12.9ms)提交事务 =&GT; # 2.3.0:015&gt;
让我插入数据。如何更改以使我的自定义验证方法有效?
答案 0 :(得分:3)
你的代码绝对没问题。您可能需要重新启动rails console
,它才能正常工作。 Rails控制台会话不会自动加载模型中的最新更改。