Railsでモデル.newして、オブジェクトを生成したときは、idがnilになっている。
obj = Article.new => #<Article id: nil, title: nil, created_at: nil, updated_at: nil>
idはモデル.newでは生成されず、モデル.create、またはモデル.saveでデータベースに保存した時に割り振られる。
obj = Article.new => #<Article id: nil, title: nil, created_at: nil, updated_at: nil> obj.save obj => #<Article id: 2, title: nil, created_at: "2016-07-13 13:35:33", updated_at: "2016-07-13 13:35:33">
参考:Rails: id field is nil when calling Model.new – stackoverflow