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实际(笔记)的主要内容,如果未能解决你的问题,请参考以下文章

solidity笔记——pure用法——2021.5.13

Stanford Corenlp学习笔记——词性标注

老黄偷工减料!笔记本RTX3080被曝“换芯”,实际只是RTX3070

《电路理论基础》学习笔记:绪论

2023爬虫学习笔记 -- selenium库的实际应用

Mybatis 项目开发实际常用SQL笔记总结