> I'm trying to make a change to a field in the model whenever someone > accesses it and it's incorrect. So I have the following in my > ActiveRecord class: > > def status > prev_status = read_attribute(:status) > if end_date < Date.today > update_attribute(:status, "Expired") > end > status > end > > I'm getting a "stack level too deep error". Any suggestions on how to > fix and the correct approach to this.
You're calling status from within status so it's recursing forever. Replace that last status with read_attribute(:status) after perhaps reloading the object to ensure you've got the latest. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

