ruby-on-rails - 如何在 View 中使用 paper_trail 格式化变更集的输出?

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

# reports\workorder_version.html.haml
%table
%class='Work Orders'
  %tr
  %thead
    %tr
      %th Index
      %th Date
      %th User ID
      %th Event
      %th Item Type
      %th Item ID
      %th Change Set
      %th IP Address
    %tr

  %tbody
    - workorder = Workorder.where(:id => params[:id]).first
    - workorder.versions.reverse.each do |version|
      %tr
        %td= version.index
        %td= version.created_at.in_time_zone('Eastern Time (US & Canada)')
        %td= Employee.find(version.whodunnit.to_i).full_name.upcase
        %td= version.event.humanize
        %td= version.item_type.humanize
        %td= version.item_id
        %td= version.changeset.to_s.humanize
        %td= version.ip

我的输出:

Output of my report[1]

如何使最终用户更容易阅读输出?

最佳答案

输出来自version.changeset, which returns a hash 。您可以循环遍历哈希以在单独的行上显示每个字段及其更改,如下所示:

%td
  -version.changeset.each do |field, value|
    = field + ": "
    = value
    %br

关于ruby-on-rails - 如何在 View 中使用 paper_trail 格式化变更集的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33023254/

相关文章:

ruby - 没有 config.ru 的启动 Rack 服务器?

html - 将 image_tag 压缩为一个

ruby-on-rails - Rails ActiveStorage 版本控制(使用 paper_trail 或类似的东西)

ruby-on-rails - 我可以在 paper_trail 中存储 object_changes 的自定义版本吗?

Ruby Nokogiri SAX 解析器在 ">"(又名 ">")处截断字符串

ruby-on-rails - rails 4 x paper_trail : track which attributes are updated and display their new value

ios - 如何将 "Log In via Twitter"凭据从 Rails 后端传递到 iPhone 应用程序?

ruby-on-rails - 创建没有主键的连接表

ruby-on-rails - Rails docker容器在不知不觉中被杀死

ruby-on-rails - Rails 中的时区