【发布时间】:2017-04-03 10:45:33
【问题描述】:
我想显示一个混合 cmets 和 post 的时间链接,所以我有这个对象
@posts = Post::all()
@comments = Comment::all()
如果我这样做
@post.each ...
... end
@comments.each ...
... end
我将获得第一个帖子,然后是 cmets。但我想要一个时间线,我该如何创建?
我需要结合这两个对象来创建一个有序列表,例如:
在帖子中:
id | name | date
1 | post1 | 2015-01-01
2 | post2 | 2013-01-01
在 cmets 中:
id | name | date
1 | comment1 | 2014-01-01
2 | comment2 | 2016-01-01
如果我这样做 post.每个... cmets.each ...
结果将是:
-post1
-post2
-comment1
-comment2
但我需要按日期订购
-post2
-comment1
-post1
-comment2
谢谢,对不起我丑陋的英语。
【问题讨论】:
-
什么是时间线,您希望我们如何帮助您创建它?
-
我认为 OP 需要一个按日期/时间排序的列表。这就是所谓的时间线。
-
请注意,
Post::all()应该是Post.all,因为方法调用应该使用.进行,并且传统上会省略空参数列表。在像这样加载 Universe 时,我也会非常谨慎,因为您的帖子表可能包含数百万条记录,并且此代码会因内存不足而立即使您的应用程序崩溃。尽可能尝试使用分页。
标签: ruby-on-rails ruby object