Rails: Разница между созданием и новыми методами в ActiveRecord? - PullRequest
43 голосов
/ 02 декабря 2010

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

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

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

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

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

1 Ответ

65 голосов
/ 03 декабря 2010

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

Проверьте ActiveRecod :: Базовая документация:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...