Rails: Разница между созданием и новыми методами в ActiveRecord?

Я следую учебник по Rails 3.0 lynda.com.

Какая разница между этими двумя строками?

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

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

Кстати, это отличный учебник; Я рекомендую его для любых других новичков, подобных мне.

Ответ 1

В основном метод new создает экземпляр объекта, а метод create дополнительно пытается сохранить его в базе данных, если это возможно.

Проверьте документацию ActiveRecod:: Base:

создать метод Создает объект (или несколько объектов) и сохраняет его в базе данных, если проходят проверки. Получаемый объект возвращается, был ли объект успешно сохранен в базе данных или нет.

новый метод Новые объекты могут быть созданы как пустые (не передают конструктивный параметр) или предварительно заданы с атрибутами, но еще не сохранены (передайте хэш с именами ключей, соответствующими именам соответствующих столбцов таблицы).