在我所开发的应用程序中,我们使用PaperTrail来跟踪原始用户所做的更改以及对拥有“贡献者”角色的用户进行的更改,这些用户可以访问授权的配置文件并进行更改。
唯一无法理解的部分是如何不允许未经批准的PaperTrail版本显示为“实时”版本。我们将创建一个仪表板区域,供配置文件所有者批准编辑内容。需要一些指导,谢谢!
唯一无法理解的部分是如何不允许未经批准的PaperTrail版本显示为“实时”版本。我们将创建一个仪表板区域,供配置文件所有者批准编辑内容。需要一些指导,谢谢!
User
和PendingUser
。PendingUser
从User
继承所有内容,并只覆盖table_name
。或者更好的是,两者都可以有一个共同的类来继承,例如BaseUser
(或一个共同的concern)。您还需要一个对原始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