我按Rails 3.0 tutorial跟lynda.com。
这两行之间有什么区别?
first_page = Page.new(:name => "First page")
first_page = Page.create(:name => "First page")
顺便说一句,这是很棒的教程;我推荐给像我这样的其他新手。
答案 0 :(得分:64)
基本上new
方法创建了一个对象实例,如果可能,create
方法还会尝试将其保存到数据库中。
检查ActiveRecod :: Base文档:
创建方法 如果验证通过,则创建一个对象(或多个对象)并将其保存到数据库。无论对象是否已成功保存到数据库,都会返回结果对象。
新方法 可以将新对象实例化为空(传递无构造参数)或使用属性预先设置但尚未保存(传递具有与关联表列名匹配的键名称的哈希)。