2017-07-18 18 views
1

私が望むのは、ユーザーとのアソシエーションを行う複数の異なるテーブルから取得したユーザーイベントのタイムラインを作成することです。複数のテーブルを1つの.eachループで照会する

@user.notifications 
@user.followings 
@user.enrollments 

例えば

のcreated_atによって並べ替えられ、この情報をループへの道があるかどうかはわかりません。

<% (@user.notifications) + (@user.followings) + (@user.enrollments).each do |n, f, e| %> 

のような任意のguidenceはスーパーいただければ幸いです!

答えて

1

あなたは正しく配列を追加しています(実際には各要素の周囲にparansを必要としませんが、追加の文全体をparansで囲む必要があります)。

これを試してみてください:

<% (@user.notifications + @user.followings + @user.enrollments).sort_by(&:created_at).each do |event| %> 
+0

あなただけのブロックではなく、3に一つの要素をもたらすべきである以外 - 多分ちょうど '|イベント|' –

+0

@MatthewBorg - 気付いてくれてありがとう!私は私の答えを編集しました。 – NateW

関連する問題