All threads / How do i save the initial time a boolean went from false to true
Ask A Question


You’re not receiving notifications from this thread.

How do i save the initial time a boolean went from false to true

Dim Dire asked in Rails

I have a boolean column in my table and a datetime related to it. I want to be able to track down when the boolean initially turns true. In the model I have tried

def example
if boolean_field == true
datetime_field =
but the problem with that is when the boolean is set to true, the datetime_field will keep updating everytime i reload the page or database since the boolean will always be in a constant state of true. I have also try to use rails dirty on it with:

but that method doesn't seems to update the datetime column at all. P.S i do have a before_save callback on the method.

any help on how i can save the initial time once the boolean_field changes from false to true will be much appreciated. thanks in advance

Hey Dim,

Just check to see if the time field is blank

def example
  if boolean_field == true && datetime_field.blank?
      datetime_field =

Hey Jacob, Thank you so much, can't believe this was going over my head. hahah much appreciated man

Join the discussion

Want to stay up-to-date with Ruby on Rails?

Join 70,078+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.

    logo Created with Sketch.

    Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more. Icons by Icons8

    © 2023 GoRails, LLC. All rights reserved.