I'm working on a web app where people can save records using an industry-specific taxonomy. Most of my users will be familiar with it, but some may not be, or they may be rusty... etc.
I have some required fields in these records where I'd like to give people the option to select: "I don't know." However, I don't want the database to be full of lazy "I don't know" entries, so I'd like to limit each user to marking "I don't know" only a few times per day.
In addition, I have moderators on the site who will go back and look at entries filed "I don't know." I'd like for the moderators to be notified of any new "I don't know" answers whenever they log in to the site so they can take a look and correct the record.
Lastly, I'd like for users whose records have been corrected to be notified when they login that their record was updated. In this way they can go back and see how they should have filed their record.
What I really want to know is:
- Does this kind of problem follow a specific pattern that you're aware of? (IE: is there a term I could Google that would point me to good resources about how to handle this kind of situation)
- Are you're aware of some good reading / tutorials that might be helpful.
- Most importantly, can you offer some guidance as to how to solve this problem in the "Rails way"?
Thanks!
-EDIT- To add some clarity to what I'm really hoping for: If you had this kind of need on your site, how would you solve it? Would you use an observer? Do you make an attribute in the model and have the observer "manipulate" that, or do you keep all the code in the observer. Is there a different way to solve this problem?
Really I just have no idea how to approach this, and I'd very much value any feedback you all can give as to how you would think about this kind of problem and an outline of how you might solve it.
I'm aware that I can use Observers as part of the solution, but I don't really know the best way to tell an observer to notice if something has happened three times in 24 hours... that kind of thing, or to know whether or not someone has read a notification.
Thanks!