问题标签 [paper-trail-gem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
105 浏览

ruby-on-rails - 从 4.0.2 升级到 4.2.0 会破坏 paper_trail 代码

我在 4.2.0 中收到以下错误,它在 4.0.2 中有效:

未定义的方法“反转!” 为了 #

在以下代码行中:

输入@client.versions.class 会产生以下结果:

有人知道吗?

谢谢。

0 投票
1 回答
1020 浏览

ruby-on-rails - 在 rails_admin paper_trail 历史记录中显示用户的自定义标签

当我转到 rails_admin 中的历史记录页面时,我会在 User 列 ( )paper_trail中看到 User 对象。#<User:0x007f59a9...有没有办法将其配置为使用其中一个用户属性?我以为我可以使用object_label_method,但我似乎没有任何运气。

更新:

我认为这纯粹是一个显示问题,但paper_trail实际上是在版本表#<User:0x007f59a9...whodunnit列中存储字符串而不是 ID。我已经覆盖user_for_paper_trailApplicationController虽然这在我的前端应用程序中成功记录了带有用户 ID 的版本,但它不在 rails_admin 中。根据这个线程,rails_admin 应该看到我的自定义方法,因为“RailsAdmin::ApplicationController 继承自你的 ::ApplicationController”。关于为什么会发生这种情况以及如何paper_trail存储用户 ID 的任何想法?

0 投票
3 回答
1405 浏览

ruby-on-rails - Rails Papertrail - 显示谁负责上次更改

我正在使用 Devise 和 Papertrail 并想显示哪个用户进行了最新更新(文档链接)。

在控制器中:

在显示页面

但是我得到了结果错误: nil:NilClass 的未定义方法 `whodunnit'

app/controllers/people_controller.rb:15:in `show'

任何帮助将不胜感激,谢谢

0 投票
1 回答
470 浏览

ruby-on-rails-4 - 使用 papertrail 时恢复关联内的关联

在 paper_trail 中的一个警告是只恢复了第一级关联,如果您在关联中有关联,这是一个问题

如果我有...

如果我删除了一个学生,我将student.versions.last.reify(:has_many => true)恢复已删除的出勤率和学生,然后分别pointlog.version.last.reify恢复已删除的点日志

这是恢复嵌套级联删除的最佳方法,还是有更好的方法来解决 paper_trail 中的这个警告?

0 投票
2 回答
735 浏览

ruby-on-rails - 在 Heroku 的 paper_trail 中自动设置谁负责控制台中的更改

paper_trail非常适合我们。但是当我们登录到 Heroku 的控制台heroku run console然后我们进行更改时,更改的发起者没有设置:(。所以 paper_trail 有一个机制:

我的问题是我们如何使用 Heroku 实现自动化?有没有这样的事情我可以做?

然后我们每个人都可以使用我们各自的用户 ID 简单地创建一个console.sh包含上述内容的文件。或者是否有另一种机制可以自动执行此操作?

0 投票
1 回答
863 浏览

ruby-on-rails-3 - 使用 Paper Trail 查找更新当前模型版本的用户

我正在工作的项目是使用 Paper Trail gem 来存储某些模型的早期版本。

我正在使用它在模型视图页面上显示审核历史记录页面,该页面显示模型更新之间的更改以及更改者。这在以前的版本中运行良好,但我还想显示谁更新了模型的当前版本。

是否有 whodunnit 命令的版本来查找谁将模型更新到当前状态?

我认为 Paper Trail 必须将它存储在当前版本的某个地方,否则它不会知道它何时在下一次更新时填充 model.versions 数组。

我已经在 Stack Overflow 上进行了搜索,甚至开始查看 gems 代码,但我无法弄清楚它是如何为 current_version 存储 whodunnit 的。

0 投票
1 回答
585 浏览

ruby-on-rails - PaperTrail 不适用于 Carrierwave 和 `remove_previously_stored_files_after_update` 选项

我需要为我的 Rails 应用程序版本图像。我使用 Carrierwave 进行文件上传,使用 PaperTrail 进行版本控制。

虽然版本控制似乎工作得很好,但似乎在停用 Carrierwave 的remove_previously_stored_files_after_update配置后,具体化版本并不能很好地发挥作用:在这种情况下,一个简单reload的具体化模型实例不再工作,只有从数据库中显式地重新加载(使用Model.find 123)有效。

我创建了一个演示 Rails 应用程序来演示该问题。

User模型安装了两个上传器:

  • AvatarUploader,更新后删除文件(默认)
  • KeepingFilesAvatarUploader,更新后不会删除文件,使用remove_previously_stored_files_after_update设置为的选项false

代码AvatarUploader

代码KeepingFilesAvatarUploader

唯一的区别是remove_previously_stored_files_after_update选项。

这是User模型的代码:

我写了一些说明意外行为的规范。由于它们的发布时间有点长,请参见此处:

https://github.com/jmuheim/test-carrierwave-papertrail/blob/master/spec/models/user_spec.rb#L20

除了我设置的那个之外,所有规格都通过了pending,这是输出:

让它发挥作用真是太好了。我现在不需要这个功能,但我不想给我的项目增加任何技术债务(尤其是这个可能会导致非常不可预见的问题,因为通常依赖于简单地reload对模型进行操作来刷新其属性) .

0 投票
1 回答
43 浏览

ruby-on-rails-3.2 - 仅从 paper_trail 中的一种类型中选择版本

我只想从类型为“用户”的 papertrail 中选择版本。有什么方法可以获取 User 类型的 5 个最新更改?

现在我有它,如下所示,但这给了我所有类型中最新的 5 种。

0 投票
0 回答
516 浏览

ruby-on-rails-3.2 - 在 activeadmin 索引中显示两个表

在我的应用程序中,我有以下代码:

现在我想在索引中添加一个新表。但是,如果我只是在 index do 中添加以下代码,则在 sortable_handle_column 之前它不能按我的意愿工作。

两个表都显示了,但我无法决定它们的呈现顺序。

首先是标题“最近的活动”,然后是第一个表中的键、文本和可见列。之后是来自我的 table_for PaperTrail::Version 的内容。

关于如何解决这个问题的任何想法,我该如何在同一页面上有两个表格。

我已经看到有些人使用下面的代码,无论如何都要为行而不是列来做

0 投票
1 回答
122 浏览

ruby-on-rails - 将时间和日期添加到 Paper_Trail 数据

Rails 新手,但学到了很多东西。

我正在使用 Paper Trail 来保存我的数据库版本,专注于我想在每次更新时维护的一个总和。总和称为“xoi_qb”。

在我的模型中,我定义了要保存的数据,如下所示:

在我想要显示此数据的 html 页面中,我有这个:

这一切都正常工作。

除了“以前的 XOI”数据之外,我还想显示更新“xoi_qb”总和的时间和日期(我假设使用“updated_at”,但我尝试过的没有任何工作)。

非常感谢您的帮助。

(附带问题:我的“XOI”总和出现在网站上的括号中(即[745])......如果你能告诉我如何摆脱它,那就太棒了。)