将时间和日期添加到 Paper_Trail 数据

Adding Time and Date to Paper_Trail data

Rails 的新手,但学到了很多东西。

我正在使用 Paper Trail 来保存我的数据库版本,重点关注我希望在每次更新时保持的总和。总和称为 "xoi_qb".

在我的模型中,我定义了我想要保存的数据:

 def get_xoi_qb
    xoi_qb = []
    self.versions.each do |version|
      unless version.reify.nil?
        xoi_qb << version.reify.xoi_qb
      end
    end
    return xoi_qb
  end

在我要显示此数据的 html 页面中,我有:

  <p>Previous XOI</p>
  <table summary="XOI Versions">
    <tr>
      <td><%= @quarterback.versions.map { |version| version.reify.xoi_qb} %></td>
    </tr>

一切正常。

除了 "Previous XOI" 数据,我还想显示更新 "xoi_qb" 总和的时间和日期(我假设使用 "updated_at",但我没有试过有效)。

非常感谢您的帮助。

(附带问题:我的 "XOI" 总和出现在网站上的方括号中(即 [745])...如果你能告诉我如何摆脱它,那就太棒了。 )

我相信版本的日期和时间存储在版本的 created_at 字段中。你试过了吗?

关于你的附带问题:你基本上是在你的视图代码中做 [745].to_s,即将一个数组转换为一个字符串,它会按照你的要求去做。您的代码看起来像您的意图是输出所有以前的版本。为此,您宁愿迭代数组而不是将其转换为字符串。类似于:

<table>
  <% quarterback.versions.each do |version| %>
    <tr>
      <td><%= version.reify.xoi_qb %></td>
    </tr>
  <% end %>
</table>

...以及日期:

<table>
  <% quarterback.versions.each do |version| %>
    <tr>
      <td><%= version.reify.xoi_qb %> dated <%= version.created_at %></td>
    </tr>
  <% end %>
</table>