技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

(ActiveRecord)new createの違い

new

newでオブジェクトを作成する。saveするまで保存されない。

micropost = Micropost.new(hoge: 'hoge')
micropost. persisted?
# => false. オブジェクトだけ作成されていて、保存されてない
micropost.save
micropost. persisted?
# => true. saveしたあとは保存された。

create

newとsaveをセットで実行してくれる。

micropost = Micropost.create(hoge: 'hoge')
micropost. persisted?
# => true.