first_or_initializeメソッド
whereメソッドとともに使うことで、whereで検索した条件のレコードがあればそのレコードのインスタンスを返し、なければ新しくインスタンスを作るメソッドです。
user = User.where(nickname: "Shinbo").first_or_initialize => #<User id: 1, nickname: "Shinbo">
first_or_initializeではnewメソッドと同様、インスタンスを生成しただけでデータベースに保存されていません。saveメソッドでデータベースに保存するのを忘れないようにしましょう。