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通过)。 无论对象是否成功保存到数据库,都会返回结果对象。
新方法新对象可以实例化为空(不传递任何构造参数)或预先设置属性,但尚未保存(通过与关联的表列名匹配的键名的散列)。