Rails:ActiveRecord中创build和新方法的区别?

我正在按照lynda.com的Rails 3.0教程 。

这两条线有什么区别?

first_page = Page.new(:name => "First page") first_page = Page.create(:name => "First page") 

顺便说一下,这是一个很好的教程; 我推荐给像我这样的其他新手。

基本上, new方法创build一个对象实例和create方法另外尝试将其保存到数据库,如果可能的话。

检查ActiveRecod :: Base文档:

create方法创build一个对象(或多个对象)并将其保存到数据库(如果validation通过)。 无论对象是否成功保存到数据库,都会返回结果对象。

新方法新对象可以实例化为空(不传递任何构造参数)或预先设置属性,但尚未保存(通过与关联的表列名匹配的键名的散列)。