差别在于报告错误的方式。

1、save
如成功,返回true,
如失败,返回nil。

2、save!
如成功,返回true,
如失败,返回异常。

3、create
无论成功或失败,均返回ActiveRecord。
(想知道是否成功,得自己另做查询。)

4、create!
如成功,返回true,
如失败,返回异常。

注:
用save错误结果会显示给用户,想自己编程处理错误,就用save!捕获异常做处理。
begin
  order.save!
rescue RecordInvalid => error
  #validation filed
end

posted on 2012-05-15 12:24  yanmiao  阅读(770)  评论(0编辑  收藏  举报