Ruby
Rails

Ruby on Rails における build メソッドと new メソッドの違い


結論

違いはない

buildnew のエイリアス

build - リファレンス - - Railsドキュメント


用途の違い


暗黙の了解で、モデルを関連付けしたときにbuildを使うみたいな感じになっているんですね。


とのこと

参照:newとbuildの違い - Qiita


メモ

1対多 子クラス生成 方法

TODO: それぞれ違いをまとめておきたい

# OK

thum = thumbnails.build(image: file)
thum.save!

# not reccomended
thum = Thumbnail.new(image: file)
thum.banner_id = self.id
thum.save!

# Also OK
thumbnails.create!(image: file)

# Also OK
thumbnails << Thumbnail.new(image: file)


参考

Rails4で1対多のリレーションをモデルに実装する - Rails Webook

【Rails入門】has_many、belongs_toの使い方まとめ | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト