ruby-on-rails - 在PaperTrail中,如何记录每个版本的评论?

标签 ruby-on-rails git paper-trail-gem

我正在构建一个基于 RoR 的 wiki。我们使用 paper_trail gem 来管理文章版本,但是通过变更集方法查看文章随时间的变化是一种糟糕的用户体验。

我们提出的最好的想法是在编辑器保存更改之前需要 git-commit-message-style 注释。这些提交消息将附加到更新文章时创建的文章版本。

由于 Version 模型位于 paper_trail gem 中,我不确定如何将 Versions 表与我的新 commit_messages 表关联起来。 CommitMessage 属于_版本。

最佳答案

[I want] to require a git-commit-message-style comment before an editor can save changes

您可以将comment列添加到您的versions表中。 PaperTrail 将此称为 "Storing Metadata" .

Metadata from Controllers

You can also store any information you like from your controller. Override the info_for_paper_trail method in your controller to return a hash whose keys correspond to columns in your versions table.

class ApplicationController
  def info_for_paper_trail
    { :ip => request.remote_ip, :user_agent => request.user_agent }
  end
end

如果这不起作用,自述文件记录了存储元数据的其他方法。

关于ruby-on-rails - 在PaperTrail中,如何记录每个版本的评论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36168574/

相关文章:

ruby-on-rails - 如何获得带有纸迹的模型的原始属性

ruby-on-rails - 将 PaperTrail 应用于所有模型

ruby-on-rails - Rack 问题 : ArgumentError: invalid byte sequence in UTF-8

ruby-on-rails - 在 Ruby 中搜索数组的更好方法?

git - 向邮件列表提交庞大的补丁集

没有 NodeJS 的 JavaScript 依赖管理

ruby-on-rails - 如何在节省击键时减少跟踪记录的数量?

javascript - Cocoon 项目字段未将值发布到数据库

html - Bootstrap - 导航栏不会在移动设备上关闭

macos - 警告 : Your version of git is 1. 9.3。存在严重的安全漏洞