0

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>

这一切都正常工作。

除了“以前的 XOI”数据之外,我还想显示更新“xoi_qb”总和的时间和日期(我假设使用“updated_at”,但我尝试过的没有任何工作)。

非常感谢您的帮助。

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

4

1 回答 1

1

我相信版本的日期和时间存储在版本的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>
于 2015-05-26T04:58:20.973 回答