ruby on rails-格式化结果



我想将以下格式返回的字符串更改为一个日期,该日期显示自上次向客户下订单以来的月天数,我在页面上有以下代码来获得结果-

<% @lastorder = Order.select("DateCreated").where("customer_id == ?", customer.id).order("Datecreated desc").find(:all, :limit => 1) %>

但这会返回以下格式-

 [#<Order DateCreated: "2013-01-09 00:00:00">]

也许有更好的方法可以做到这一点,但我目前还没有意识到。

我会这样重写您的查询:

@last_order = Order
  .where(customer_id: customer.id) # No need to use prepared statement here
  .order('DateCreated DESC')
  .pluck('DateCreated')            # Directly select 1 column
  .first()                         # Only select the first record

如果你想用文字显示时间距离,你应该使用rails助手:distance_of_time_in_words_to_now(@last_order)

简介:刚发现比distance_of_time_in_words_to_nowtime_ago_in_words的别名,更短。

相关内容

  • 没有找到相关文章

最新更新