Tag: paper trail gem

在rails_admin paper_trail历史记录中显示User的自定义标签

当我转到paper_trail历史记录页面时,我在User列中看到User对象( #<User:0x007f59a9… )。 有没有办法配置它使用其中一个用户属性? 我以为我可以使用object_label_method但我似乎没有运气。 更新: 我认为这纯粹是一个显示问题但是paper_trail实际上是在版本表的#<User:0x007f59a9…列而不是ID中存储像#<User:0x007f59a9…这样的字符串。 我在ApplicationController覆盖了user_for_paper_trail ,虽然这在我的前端应用程序中成功记录了带有用户ID的版本,但它不在rails_admin中。 根据这个线程 ,rails_admin应该看到我的自定义方法,因为“RailsAdmin :: ApplicationControllerinheritance自你的:: ApplicationController”。 有关为什么会发生这种情况以及如何让paper_trail存储用户ID的任何想法?

Rails 4 x paper_trail:使用嵌套资源按item_id过滤版本

在我的Rails 4应用程序中,我有以下模型: class User < ActiveRecord::Base has_many :administrations, dependent: :destroy has_many :calendars, through: :administrations end class Administration < ActiveRecord::Base belongs_to :user belongs_to :calendar end class Calendar < ActiveRecord::Base has_many :administrations, dependent: :destroy has_many :users, through: :administrations end class Post < ActiveRecord::Base belongs_to :calendar end 我安装了paper_trail gem来跟踪我的post模型的变化,如文档中所述 ,它就像一个魅力。 版本显示在Calendars#Index视图中,该视图用作user的仪表板。 以下是我的CalendarsController的设置方法: def index @user = current_user @calendars […]

使用多个“用户”模型获取Paper_trail + Rails_admin +设计

我正在开发Rails 3中的应用程序,目前我使用Devise作为登录,Rails_admin作为管理面板,Paper_trail跟踪“用户”模型所做的所有更改…问题是我有两个用户模型,User和Admin。 因此,rails_admin.rb(initiliazer)中的一行代码用于设置Paper_trail以跟踪历史记录: config.audit_with :paper_trail, User 有没有办法让用户和管理员进行paper_trail监视器更改,还是只能跟随一个模型? 我注意到,即使它设置为这样,并且我在Rails_admin中作为管理员进行了更改,更改说它是由用户创建的,其ID与进行更改的管理员相同。

列出所有paper_trail版本(包括关联)的正确方法是什么?

关于paper_trail gem的问题 。 仅关联更改时,将不会为主模型创建版本记录。 那么列出某个记录的所有版本(包括其关联)的正确方法是什么? 我应该查询这样的事情吗? (不好的一点是这个SQL查询可能是长而低的性能。) f = “(item_type = ‘Place’ AND item_id = ?) OR (item_type = ‘PlaceName’ AND item_id IN (?))” PaperTrail::Version.where(f, @place.id, @place.names.map { |n| n.id }) 或者我应该在只更改关联时创建版本记录? 我认为@DavidHam尝试了同样的事情并提出了类似的问题,但没有人回答。

PaperTrail:在控制器上下文之外的info_for_paper_trail

我正在使用paper_trail gem来对我的模型进行版本控制。 到目前为止,我的模型依赖于ApplicationController的info_for_paper_trail方法: class ApplicationController < ActionController::Base # Extra columns to store along with PaperTrail `versions` def info_for_paper_trail { revision_id: @revision.id, revision_source_id: @revision_source.id } end end 这在控制器的上下文中工作得很好,但有没有办法可以在控制器的上下文之外复制这种东西(例如,延迟的工作)? 我尝试创建一个名为revision的虚拟属性并将proc传递给has_paper_trail ,但是错误的method not foundexception的method not found : # Attempt to solve this in the model class Resource < ActiveRecord::Base # Virtual attribute attr_accessor :revision # Attempt to use […]

如何设置管理员批准模型的编辑

我需要一个普通用户可以编辑模型的系统,但编辑实际上不会发生,直到他们得到管理员的批准。 我找到了一个名为paper_trail的gem,它确实有模型版本,但并不特别支持我想要做的事情。 我想知道其他人是如何处理这个问题的。 我应该补充说,我希望能够让用户同时进行编辑。 它们不是很复杂,例如一个是别名。 更复杂的部分可能是多个用户编辑相同模型并尝试进行某种合并的情况。

Papertrail和Carrierwave

我有一个使用两者的模型:Carrierwave用于商店照片,PaperTrail用于版本控制。 我还使用config.remove_previously_stored_files_after_update = false在更新时(因为我想对照片进行版本控制)配置Carrierwave用于存储不同的文件 问题是PaperTrail试图从照片(CarrierWave Uploader)存储整个Ruby对象而不是简单的字符串(这将是它的url) (版本表,列对象) — first_name: Foo last_name: Bar photo: !ruby/object:PhotoUploader model: !ruby/object:Bla attributes: id: 2 first_name: Foo1 segundo_nombre: ‘Bar1’ …….. 如何修复此问题以在照片版本中存储简单的字符串?

在Papertrail中显示各个记录的所有版本

我正在建立一个联盟系统,目前它根据结果存储和更新球员的’elo得分’。 现在,我试图添加“HighCharts”,以一个甜美的线条图显示本赛季的球员elo得分。 有人建议我使用Papertrail存储更新,我已经安装了所有更新。 现在我的问题出现了,我似乎无法弄清楚如何在一个易于’HighCharts’使用的数组中吐出用户的elo_score版本。 我可以获得elo_score的最新更新: Last updated score = 但我似乎无法找到为’elo_score’吐出所有 ‘版本’的语法。 类似“1000,1020,1043,1020”的东西。 我也尝试过: 但这给了我“未定义的方法`elo_score’为nil:NilClass”。 只是吐出记录中的所有信息,显然不仅仅是elo_score。 有人可以帮忙吗? 对不起,如果我没有说清楚,我对rails来说是绝对的全新,这在我的业余时间只是一个有趣的项目,但我有一个爆炸! 非常感谢!

NoMethodError – 升级Rails 4.2后的Paper Trail问题的未定义方法`timestamp_sort_order’

当我将rails 3.2迁移到rails 4.2时,我使用paper_trail来跟踪跨国变化,有以下问题: NoMethodError – 未定义的方法`timestamp_sort_order’

是否有PaperTrail gem的全局配置选项列表?

有没有办法找出初始化程序中可配置的内容 – 它只是version_limit和不推荐的track_associations吗? 我查看了配置代码 ,还搜索了“PaperTrail.config”。 在[自述文件]( https://github.com/airblade/paper_trail/blob/master/README.md]中 。 问题最初的一部分是否有可能将PaperTrail gem配置为全局忽略属性?