如何在Rubymine中测试验证?

时间:2015-07-31 21:23:13

标签: ruby-on-rails validation

我是学习Rails的新手,我正在使用Rubymine。我正在浏览RailsS​​pace这本书,并有一个问题。我们创建了一个用户模型,然后在创建新用户时创建了所有这些验证,现在它说要测试我们的验证......但是我不太清楚如何做到这一点。它向我显示了代码,但是我不确定在 Rubymine 中我可以去测试我们制作的用户验证。帮助:)

这是它显示本书的代码。根据我的理解,我需要尝试创建一个新用户并给它一个用户名,电子邮件和密码......然后它会在验证上给出错误。但是,我在哪里创建这个新用户并输入用户名,密码和电子邮件?

>> reload!

>> user = User.new( :screen_name => "me",

?>                  :password => "a"

?>                  :email => " ")

=> #<User: 0xb76fad0 @new_record=true,
  @attributes={"screen_name"=>"me", "password"=>"a", "email"=>""}>

>> user.save

=> false

>> user.errors.on(:screen_name)

=>["is to short (minimum is 4 charaters)", "has already been taken"]

谢谢! ç

1 个答案:

答案 0 :(得分:1)

在RuyMine界面的底部,有一个终端图标:

enter image description here

在这里,我打开了RubyMine的内置终端并启动了rails console。我正在使用名为Line的模型,该模型具有3个在线验证。我在其上调用了new,没有传递任何属性作为参数。 valid?方法运行验证而不保存我的新对象。由于我没有给它所需的属性,因此无效。要查看验证失败的原因,请致电errors.full_messages。它显示了缺少的三个必需属性。

enter image description here

因此,要创建有效的Line对象,我需要将三个必需属性作为参数提供给new。它现在将通过其验证:

enter image description here