2016-12-14 8 views
-2

で2つのテーブルのX最新のレコードを取得しますカラム。ですから、結局私は、それらを両方のポストとトピックのタイプのオブジェクトで構成されたコレクションに入れることを期待しています。私は自分自身を明確にしたいと思う。は、どのように私は2つのテーブルを持って一度

+0

投稿のtopic_idとトピックのidとの関連はありますか? –

+0

はい、トピックには多数の投稿があります。 post.topic_idはtopic.idを参照します – Kammil

答えて

-1

だけではなく、なぜあなたはすでに、関連を持っているので、私は最終的に十分な自分自身が明らかにされていないよう

<% Topic.order(:created_at => :asc).limit(10) do |topic| %> 
    <%= topic.title %> 
    <%= topic.content %> 
    <%= topic.post.content %> 
    <%= topic.created_at %> 
    <%= topic.post.created_at %> 
<% end %> 
+0

トピックが作成されたとき、または投稿が作成されたときに注文するかどうかを決定する必要があります。両方の値を注文することはできません –

0

が見えます。しかしその間に私は解決策を思いついた。それは完璧ではありませんが、それは動作します。

def recent_activities(count: 10) 
    posts = Post.order(updated_at: :desc).limit(count) 
    topics = Topic.order(updated_at: :desc).limit(count) 
    activities = posts + topics 
    activities.sort! { |x, y| y.updated_at <=> x.updated_at } 
    activities.first(count) 
    end 

このように、post.topic_idとtopic.idの関連付けは関係ありません。両方のテーブルには、両方ともupdated_atカラムがあります。投稿とトピックで構成されたグループの最近のXレコードが必要です。

関連する問題