我有一个包含帖子的rails(4.1.6)博客应用。它为用户使用设计,我正在整合paper_trail gem用于版本控制。
在与paper_trail集成之前,每个Post都有一个belongs_to:user,其中填充了create:@post = Post.new(user: current_user)
顶部的current_user。但是,由于paper_trail存储了项目的创建者,我想使用@ post.originator来访问创建者。
在此博客应用中,只有已登录的用户才能创建帖子。在我的验证器中,我需要检查@ post.originator是否存在,但在验证我的帖子时,发起者是空白的(可能是因为paper_trail不保存纸质跟踪数据,直到在数据库中创建帖子)。
所以,当我创建一个帖子并且验证器运行时,使用创建器代替,我得到一个错误,因为没有创建者,所以无法创建帖子。
我看到的选项是:
我怀疑理想的方法是#3或至少#1或#2,但我想检查是否有任何方法可以实现#4。
由于 阿南德