我是靠谱客的博主 怕孤独小天鹅,最近开发中收集的这篇文章主要介绍rails的create与create!和save与save!的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

很无语弄了一下午的rails console 

本想用console插入一些records

结果一直不能,总是出现rollback提示

以为是数据库 mysql的问题,又查看了mysql自动提交,事务隔离界别等

但是一直还是没解决问题..

最后 终于知道了.. 怎么知道的过程就不记得了

 

原来是 自己写的model有好多validates..从来没遇到过这种情况以至于一直rollback却不知道自己插入数据并不符合自己的条件

 

一直使用的是 save方法 和 create方法

但是文档上写着:

By default, save always run validations. If any of them fail the action is cancelled and save returns false. However, if you supply :validate => false, validations are bypassed altogether. 

 

With save! validations always run. If any of them fail ActiveRecord::RecordInvalid gets raised

 

而且明确说明是需要validates的

同理 create和create!也是

 

 

最后

以上就是怕孤独小天鹅为你收集整理的rails的create与create!和save与save!的区别的全部内容,希望文章能够帮你解决rails的create与create!和save与save!的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部