【问题标题】:Rails - show last recordRails - 显示最后一条记录
【发布时间】:2016-06-20 18:13:27
【问题描述】:

我正在尝试显示此数据库中“体重”的最后更新记录:

DB structure

我正在尝试使用:

<%= @user.weights.last %>

我没有收到错误,但我打印了这个字符串:

<Weight:0x007f80814ab538>

各种尝试!

【问题讨论】:

  • 为什么不通过在模型中使用作用域将结果放到控制器中呢?或者干脆做一些类似的事情:last_weight = Weight.last,然后是 last_weight.weight
  • last 方法对上次更新没有任何作用。它按 id desc 排序并获取第一条记录。

标签: ruby-on-rails database postgresql structure


【解决方案1】:

您看到的是正在返回的 Weight 对象。尝试在其上调用字段属性:

@user.weights.last.weight

【讨论】:

  • 不幸的是,它没有输出任何东西。
  • 建议的代码看起来正确,您可以尝试添加.inspect 或做一个断点并检查值,这可能是您的视图没有正确输出值的问题
【解决方案2】:

获取最后更新的用户权重

@last_weight  = @user.weights.order("updated_at DESC").first

结果是:

<Weight:0x007f80814ab538>

而且你需要在你的模板中显示 Weight 的属性

<%= @last_weight.attribute_1 %>
<%= @last_weight.attribute_2 %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    相关资源
    最近更新 更多