给出@comments,它可以包含1个或多个记录。我如何获得倒数第二个评论?
由于
答案 0 :(得分:30)
我想这也将被称为倒数第二个记录:
@comments[-2]
Here are the docs 1 到Ruby有趣的索引运算符。
<小时/> 1。 Rubyists,请注意我是如何联系这个的。如果您从ruby-doc链接中获取该版本,则该引用将是持久且最近的。
答案 1 :(得分:9)
使用任何Ruby数组,您可以指定任何范围或特定索引,例如,如果您想要从第二个最旧到第二个最新的评论,您可以这样做:
@comments[1..-2]
并获得倒数第二名:
@comments[-2]
的文档
在Rails中,如果你想要最后两条注释,那么你可以这样做,它返回最后两条的数组:
@comments.last(2)
的文档
答案 2 :(得分:7)
可以包含1条或更多条记录
这个问题已经过时了,但对于现在来这里的人来说......
如果只有一条记录,其他解决方案将返回nil。如果您想确保返回记录使用:
@comments.last(2)[0]
答案 3 :(得分:3)
@comments[-2]
这与你的上一个问题几乎相同。
答案 4 :(得分:1)
@comments = Comment.all #Gather all comments from DB, filter as necessary.
@comments[-2] #Second to last comment in array