- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以为 PaperTrail 指定不同的表名(versions
除外)? gem ?
在我的 Rails 应用程序中,我已经有了一个版本模型/表,它与事件记录版本控制无关(我的应用程序让我们使用 fork 一个“原型(prototype)”,无论好坏,我都使用“版本”作为标签这些 fork )。它在我的应用程序中非常普遍,我不想重命名它。
当运行 bundle exec rails generate paper_trail:install
时,我得到 Migration already exists: create_versions
。
基本上,我希望该表是 PaperTrailVersions
,并希望访问路径的方法具有类似的命名空间。
有什么想法吗?或者我应该只使用 Audited使用 audits
表的 gem?
最佳答案
PaperTrail 支持 custom version classes可以定义自定义表名。
class PostVersion < PaperTrail::Version
self.table_name = :post_versions
end
class Post < ActiveRecord::Base
has_paper_trail :class_name => 'PostVersion'
end
对于失败的 generate
命令,我会尝试这些步骤(虽然还没有测试过):
CreateVersions
的迁移,因为您已经有一个 versions
表。这就是 generate
命令失败的原因 - 它无法创建具有相同名称的迁移。我认为您可以简单地临时重命名旧迁移(对于您的原始versions
表迁移)。您只需重命名文件和文件中的类名。generate
命令应该运行。它应该安装一些文件,它们的名称将被打印到控制台。create_versions
迁移文件,并将它以及 CreateVersions
中的类名 重命名为您自定义版本表名称的名称,例如 CreatePostVersions
。还将其中提及的任何 versions
表重命名为您的自定义表名,例如post_versions
.versions
表名称更改为其中的自定义表名称。不过,无需重命名这些文件。create_versions
迁移文件并将其重命名回其原始名称(还原此文件的更改)。这些步骤可能看起来很繁琐,但它们只是暂时将旧迁移重命名为其他名称,以便生成命令可以运行。然后你只需要将生成的迁移中的表名更改为新的表名。
可以看到使用generate
命令生成的文件here在源代码中。这些是您需要修改的文件。
关于ruby-on-rails - Paper Trail 的不同表名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37557883/
让我首先描述一下问题的症状。然后我将提供更多事实并解释我的问题。 症状 我编写了一个自定义 Windows 控件。控件会自行绘制以响应 WM_PAINT 消息。它还使用跟踪工具提示(即TOOLTIPS
你好,我设计了一个迷宫,我想在“人”从一个单元格移动到另一个单元格时在单元格之间画一条路径。所以每次我移动单元格时都会画一条线我也在使用图形模块 The graphics module is an o
我可以使用 Graphics2D 制作一个能够自行构建且没有“Swing ”效果的平滑圆圈吗?如果是,怎么办?要理解我的意思,您必须运行以下示例: import java.awt.Color; imp
当我第一次关注LinkedBlockingQueue中的unlink方法时,我认为trail的第二个参数意味着它是第一个参数-p的下一个节点,但是我错了,因为我在remove方法中发现(Object
我有一个中心节点来描绘太阳,还有另一个围绕它运行的节点来描绘行星。我想用圆圈表示行星轨道。 我尝试创建一个环面几何体,这可行,但问题是当相机关闭时它会增大,而当相机太远时它会消失。 有没有办法使某些东
在图像中,红色轨迹是当我在 Sprite 周围添加了一个边界矩形时 pygame 创建的轨迹。 Sprite 也这样做,最简单的解决方案是在每次重绘后将表面清除为黑色。然而,尝试在整个主表面上这样做并
我正在尝试使用 Update 命令删除 MySQL 文本类型数据字段中的回车符。我已经尝试了以下操作,当我导出记录并在文本编辑器中查看(附图)时,我仍然看到这个字符?我应该用什么来删除它? updat
我是 swift 的新手。正在阅读 weheartswift 上的闭包。有一节讨论尾随闭包。这里有三个问题: 我认为代码中存在一些拼写错误:函数不应该只是 func 吗? 我认为 { } 中的 3 行
这是我在编程教程中发现的一个术语。什么意思? 最佳答案 它通常指的是解析文本行之类的东西,它描述了从行尾删除的换行符或回车符。 换行符 对最终用户来说通常是不可见的,但它代表了一个结束一行并开始新一行
我正在尝试将以下自动命令插入 Vim: autocmd BufEnter *.c :call SourceTagsVim() function! SourceTagsVim() let s:fname
我在一个明显不幸的环境中工作,这种环境几乎不担心被称为“尾随空白”的深层邪恶......但是,唉,开明的 Mercurial 坚持警告我,通过差异中的红色突出显示,该代码我将检查包含这个邪恶的东西。
我试图改变我的崇高主题/配色方案,我得到了 'unexpected trailing characters' 当我尝试使用此配置保存/User/Preferences.sublime-settings
我有一个类似于this的日志文件。 我正在尝试通过以下方式解析Message列中的JSON: library(readr) library(jsonlite) df % glimpse() ##
是否可以为 PaperTrail 指定不同的表名(versions 除外)? gem ? 在我的 Rails 应用程序中,我已经有了一个版本模型/表,它与事件记录版本控制无关(我的应用程序让我们使用
我正在使用 .htaccess 文件将目录请求定向到提供有关该目录的信息的自定义 php 文件(我希望浏览器显示的 url 不会更改)。 这是 .htaccess 文件的相关部分。 RewriteCo
我正在尝试查找Twitter句柄的所有实例,并在它们周围包裹一个定位标记。 :%s/\(@[\w]\)/\1/gc 这给了我: E488: Trailing characters 最佳答案 当/和{p
我找到了一个简单的代码来进行审计跟踪,但它仅适用于单个单元格。 如果有人复制粘贴几个单元格,它就会停止工作。一次删除几个单元格也是如此。 Option Explicit Dim PreviousVal
这个问题在这里已经有了答案: java.lang.NoSuchMethodError: org.springframework.util.ClassUtils.forName(Ljava (3 个答
这个问题在这里已经有了答案: java.lang.NoSuchMethodError: org.springframework.util.ClassUtils.forName(Ljava (3 个答
在 Firefox 3.5 中,使用 jQuery 为 ASP.net 文本框设置动画时,焦点会留下尾随动画。 将输入框修改为无边框后,效果不再可见。顶部框没有边框,也没有拖尾动画,而有边框的底部框仍
我是一名优秀的程序员,十分优秀!