J'utilise hair_trigger gem et dans mon modèle, je veux conserver les modifications apportées à certaines colonnes.Ajouter un ID utilisateur en cours pour déclencher la requête sql hair_trigger gem rails
trigger.after(:insert).declare("#{current_user.id} as current_user_id") do
"insert into histories (item_type, item_id, field, old_value, new_value, changed_by, created_at, updated_at) values ('CaseStatus', NEW.id, 'loan_case_id', '', NEW.loan_case_id, current_user_id, current_timestamp, current_timestamp);"
end
Je pensais que je pourrais être en mesure de déclarer et de transmettre l'ID current_user dans ma requête afin que je puisse enregistrer l'utilisateur qui a effectué les changements, mais je reçois une erreur au sujet 'undefined variable current_user'
Est-ce que quelqu'un sait comment je peut être en mesure de sauver l'utilisateur qui a déclenché les changements en utilisant hair_trigger gem dans un modèle Rails.
beaucoup apprécié
Mais avez-vous jeté un coup d'oeil à la gemme 'papertrail', elle fait exactement ce que vous cherchez, suit les modifications apportées aux modèles. – Iceman
Je sais que ce n'est pas une réponse directe à votre question, mais avez-vous envisagé d'utiliser une gemme d'audit? Jetez un oeil à https://github.com/collectiveidea/audited ou https://github.com/airblade/paper_trail –
Je n'ai jamais utilisé cette gemme, est-il même possible d'envoyer des paramètres à la fonction de déclenchement comme ça? – Iceman