- touchメソッドを使います
ruby
user = User.last
user.updated_at
# => Sat, 16 Jun 2018 12:45:43 JST +09:00
user.touch
=> true
user.updated_at
# => Sat, 16 Jun 2018 12:47:03 JST +09:00
# updated_atが更新されている
他の値は変えたくないが、更新日時だけ更新したいときに便利!
ちなみに引数で指定すればupdated_at
以外にも更新できるみたいです、試しにcreated_at
を更新してみます。
ruby
user.created_at
# => Fri, 15 Jun 2018 17:36:48 JST +09:00
user.touch(:created_at)
# => true
user.created_at
# => Sat, 16 Jun 2018 12:51:04 JST +09:00
# created_atが更新されている
いろいろ応用が利きそうですね。
ただこのメソッドはバリデーションしてくれないので、更新する値にバリデーションが必要な場合は注意してください。