【发布时间】:2021-09-19 19:18:16
【问题描述】:
假设我正在使用 PaperTrail gem 在我的 Rails 6 应用程序中跟踪两个模型 - Book 和 User。现在我想生成仅包含日志的 CSV 文件,其中仅包含 Book 模型活动。如何如何只为一个模型提取版本,例如Book?
# models
class Book
has_paper_trail
end
class User
has_paper_trail
end
#call method for csv_generator service
def call
CSV.generate(col_sep: ';', write_headers: true, headers: LOG_HEADERS, encoding: 'UTF-8') do |csv|
PaperTrail::Version.includes([:item]).limit(50).order(id: :desc).each do |v|
tracked_data(v)
csv << [v.created_at.in_time_zone('CET'),
v.event,
version.whodunnit,
@new_data_value]
end
end
end
现在我从 Book 和 User 模型中获取日志,而不仅仅是 Book。
【问题讨论】:
标签: ruby-on-rails paper-trail-gem