Mam aplikację małej szyny. Chcę umieścić w nim ślad audytu. Zasadniczo po dodaniu nowego użytkownika. wstawi wiersz w tabeli AuditTrailUsers
z nową nazwą użytkownika utworzoną i zalogowaną w user_id użytkownika.jak budować ścieżki audytu w aplikacji szyny
Zastanawiam się, czy nie użyć do tego celu wywołania zwrotnego szyny before_save
. Jednak nie jestem pewien, czy to zadziała.
Wyobraźmy mam model/Users.rb
i model/AuditTrailUser.rb
class User < ActiveRecord::Base
validates_presence_of :userid, :password
before_save :insert_audit
def self.authenticate(userid, password)
user = self.find_by_userid_and_password(userid, password)
user
end
##implement insert_audit
end
Jak mogę wdrożyć insert_audit
tak, że trwa w identyfikatorze użytkownika (od zalogowanego użytkownika), dzięki czemu może on przekazać je do AuditTrailUser Dzwoniąc AuditTrailUser.create(...)
.
Gdybym przechodzą w identyfikatorze użytkownika zalogowanego w użytkownika ... wtedy będę musiał jawnie wywołać before_save
wszędzie ...
Jestem nowy na szynach.
Istnieje lepsza alternatywa dla act_as_audited wersji pluginów Vestal (http://github.com/laserlemon/vestal_versions). Dyskusja na SO http://stackoverflow.com/questions/2323505/how-to-keep-track-of-model-history-with-mapping-table-in-ruby-on-on- –
Inną interesującą kwestią jest paper_trail https: //github.com/airblade/paper_trail. Railscasts link "255-undo-with-paper-trail" http://railscasts.com/episodes/255-undo-with-paper-trail –
Audited gem jest wciąż całkiem niezły i utrzymany w dużej mierze na czasie. Ma również kilka ciekawych funkcji, których nie mają inni. –