读书人

rails的create与create!跟save与save!

发布时间: 2012-10-08 19:54:56 作者: rapoo

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!也是

?

?

读书人网 >网络基础

热点推荐