5-13 Rspec实际(笔记)
Posted Mr-chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5-13 Rspec实际(笔记)相关的知识,希望对你有一定的参考价值。
validates处理验证错误:详见ActiveModel::Errors文档
一,errors
ActiveModel::Errors的实例包含所有的?。每个错误:key是每个属性的name, value是一个数组,包含错误消息string.
例子:
person = Person.new
person.errors.messages #=> {:name => ["can‘t be blank", "is too short"], ...}
二 ,errors[]
通过key获取value ,如person.errors[:name] #=> ["can‘t be blank", "is too short"]
三, errors.add(atr, msg) 或者 errors.message[atr] << "msg"
手动添加某属性的错误message
errors.full_message: 友好显示所有错误message(规范了格式,便于阅读)
full_message等同to_a
四, errors.details,
在add()方法内增加限制参数,not_allowed: "xxx"
五, errors[:base] << "string"
把错误message添加到整个对象上。不是针对属性。不管什么错误,只像把对象标记为无效,就使用这个方法。
六,errors.clear 和 errors.empty?
清除errors 集合中所有message, errors.empty?查看是否错误集合是空的,配合clear使用。
七,errors.size,返回错误消息总数。 等同errors.count
八,视图上显示错误消息。
可以使用scarfold,在_form.html.erbzhong 自动加入ERB代码。或者自己写。
以上是关于5-13 Rspec实际(笔记)的主要内容,如果未能解决你的问题,请参考以下文章