Използвам gem Audited
в моето приложение Rails. Искам да създам начин за отпечатване на одитния запис, за да мога да имам информация за това какво е променено от даден потребител или какво е променено на обект. В момента имам настройка на метод, наречен print_audit
за всеки обект, който използвам с Audited
. Но това изглежда невероятно погрешно. Бих искал да отменя метода to_s
в модела на одита... но не съм сигурен какъв би бил правилният начин да направя това... неправилен ли е подходът и ако не, как бих могъл да направя това?
Как мога да добавя метод за печат за Audited gem в Rails?
Отговори (2)
Вече има по-прост метод за постигане на това, както е дефинирано тук в официална документация. Ето един фрагмент, който би добавил to_s към всеки екземпляр на одит:
# config/initializers/audited.rb
class CustomAudit < Audited::Audit
def to_s
"This overrides the default to_s method!"
end
end
Audited.config do |config|
config.audit_class = CustomAudit
end
person
s_dolan
schedule
16.04.2018
Използвах следния метод, тъй като го намирам за много по-чист.
Добавен файл: config/initializers/audited_additional_methods.rb
module Audited
module Adapters
module ActiveRecord
class Audit < ::ActiveRecord::Base
def to_s
"Added my new to_s logic here"
end
end
end
end
end
person
daveomcd
schedule
09.05.2015