- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我正在开发的应用程序中,我们使用 PaperTrail 不仅可以跟上原始用户所做的更改,还可以跟上对有权更改授权配置文件的“贡献者”角色的用户所做的更改.
我不能放在一起的一件是不允许未经批准的 paper_trail 版本不显示为“实时”。我们将在个人资料所有者将批准编辑的仪表板区域中进行构建。只是需要一些指导。谢谢!
最佳答案
我会使用 两个不同的类(class) : 一个用于保存实时的、已批准的用户,另一个用于保存贡献的、未批准的用户。我们就叫他们User
和 PendingUser
.
你可以有PendingUser
从 User
继承一切并覆盖table_name
.或者,更好的是,两者都可以有一个它们继承自的公共(public)类 - 例如BaseUser
(或共同关心的问题)。您还需要引用原始 User
( PendingUser#user_id
),以便知道更改属于谁。因此,您需要为 pending_users
编写迁移。表和类似的东西:
class BaseUser
# Everything that used to be within your User class
end
class User < BaseUser
self.table_name = 'users'
has_one :pending_user # Or has_many, see the last paragraph
end
class PendingUser < BaseUser
self.table_name = 'pending_users'
belongs_to :user
end
Version
存储所有内容模型。这意味着 User
和 PendingUser
将在此处序列化,因此无需更改任何内容UserVersion
,这意味着您需要提供 PendingUserVersion
类和表(非常简单,只需从 UserVersion
继承所有内容,从 table_name
继承)。 PendingUser
的 live 版本的属性。到
User
的实时版本(当然,
PendingUser#user_id
除外)。批准更改后,您可能希望删除
PendingUser
和
PendingUser
版本,或者选择所有这些版本并将它们的类更改为
User
(
将 未批准的版本与已批准的版本合并)。
关于ruby-on-rails - rails/PaperTrail : approving edits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21243613/
我在互联网上发现 Papertrail 可以让你 log using ANSI colors . 这对我来说意义重大,因为我的 node.js 应用程序上有很多日志,添加更多颜色有助于我了解当有很多人
我在我的站点中使用 paper_trail 来实现撤消/重做功能,当我在 version 上调用 reify.save 时遇到问题在 save 上创建新的 PaperTrail::Version。 有
我有一个项目的电子表格,我将其转换为 CSV 并使用自定义导入脚本将其导入到基于 Rails 的应用程序中。 电子表格为每条记录包含一行,但有些行包含前一行的不同版本。 导入 CSV 时,我目前使用“
我正在使用 paper_trail gem 作为博客系统来存储文章的版本。但是,我不需要在文章被销毁后保留该文章的任何版本。 当模型实例被销毁时,如何删除它的所有版本?我只在文档中看到一种全局删除版本
我认为除了声明 has_paper_trail 之外,没有一种简单的方法可以将 PaperTrail 应用于所有模型。在每一个。 我想要完成的是将 PaperTrail(或其他 gem,如 Audit
我查看了 how to store meta data for a paper trail versioned object这似乎很容易。问题是我希望能够在不对对象进行任何实际更改的情况下存储该元数据
我正在使用 Papertrail gem在我的项目中,并进行了广泛的搜索以尝试找到如何执行以下操作。 我想要做的是找到我的对象的版本,其中特定属性成为特定值,即 object.versions.whe
我在 Rails 4 应用程序中使用 paper_trail gem,并且想要设置默认排序顺序。 papertrail 没有模型,只有 Controller 和初始化器。 我可以把它放在哪里?我必须为
我有一个模型,它同时使用 Carrierwave 和 PaperTrail 进行版本控制。 我还使用 config.remove_previously_stored_files_after_updat
我正在创建一个应用程序,在创建和更新文章时需要管理员批准。我使用纸质记录来完成这项工作,存储对文章的每次更新。 更新文章时,“已发布”字段设置为 false。由于我想显示文章的最新批准/发布版本,我需
我在使用 PaperTrail 时遇到问题(Rails 对象的自动版本控制)与 RSpec 测试一起使用。通常我希望我的测试在没有 PaperTrail 版本控制的情况下运行,但有一些测试我希望打开
在我正在开发的应用程序中,我们使用 PaperTrail 不仅可以跟上原始用户所做的更改,还可以跟上对有权更改授权配置文件的“贡献者”角色的用户所做的更改. 我不能放在一起的一件是不允许未经批准的 p
在 paper_trail 中,一个注意事项是仅恢复第一级关联,如果关联中有关联,这是一个问题 如果我有... class Student true)来恢复删除的出勤率和学生,然后分别pointlo
我尝试将生产和暂存中的 Rails (3.2.17) 应用程序的所有日志记录移动到 papertrail。现在我正在尝试在 config/initializers/sidekiq.rb 中为 side
CreateVersions migration由 PaperTrail 提供说 MySQL users should manually add fractional seconds precisio
我正在尝试使用 pm2 作为我的流程管理器,让我的 Node 应用程序日志显示在 papertrail 上。 到目前为止,我已将 pm2 日志记录到 process.json 中定义的文件中。我想将其
我正在尝试向 PaperTrail::Version 添加验证,这将防止敏感数据存储在版本表中。这个想法是,如果您忘记清理模型中的 has_paper_trail 调用,就会出现很多明显的错误。 如果
目前,我已经使用 PaperTrail 实现了一个 Rails 数据审计应用程序。我为每个 create、update 和 destroy 操作添加了一个新版本。 问题是,我的模型中有一个 after
我被困住了。我一直在试图弄清楚如何在具有 papertrail 的模型上包含关联更改( has_many , has_many through )。我想调用MyModel.versions.first
我正在使用 paper_trail用于对我的模型进行版本控制的 gem。 到目前为止,我的模型依赖于 info_for_paper_trail ApplicationController 中的方法:
我是一名优秀的程序员,十分优秀!