2015-09-28 65 views
2

我想根据message_date返回数组中最近的记录。我将如何去做这件事?我有这段代码返回所有,并试图使用最后等,但我不太确定我在做什么。如何返回数组中的最新记录

contact_messages_threads(@customer.id).each do |openmessagethread| 
    - @messagelast = openmessagethread.message_date 
+0

不知道如果我理解正确。 'contact_messages_threads(@ customer.id)'或'openmessagethread'是你想要找到最新记录的数组吗? – IngoAlbers

+0

@EgonWilzer contact_messages_threads是方法,我假设openmessagethread是数组。 – user3385136

回答

3

你应该能够得到它这样,如果contact_messages_threads(@customer.id)返回数组:

@messagelast = contact_messages_threads(@customer.id).max_by(&:message_date) 
+0

这是返回“未定义的方法'max_by'为...” – user3385136

+0

什么?所以'openmessagethread'不是数组?你可以试试'@messagelast = contact_messages_threads(@ customer.id).max_by(&:message_date)'? – IngoAlbers

+0

明白了。谢谢。真是困惑的事情。感谢澄清。我认为contact_messages_threads是我在其他地方定义的方法。 – user3385136