コントローラー インデックス アクションに次の 4 つの変数があり、さまざまなモデルからデータを取得しています。次のように結合しています。
@forum = Forum.where(:user_id => @users.collect(&:user_id)).all
@poll=Poll.where(:created_by => @users.collect(&:user_id)).all
@article = Article.where(:user_id => @users.collect(&:user_id)).all
@jobpost = Jobplacement.where(:user_id => @users.collect(&:user_id)).all
@post = @article + @jobpost + @forum + @poll
ビューで @post をループしたかったので、書きました - @post.reverse.each do | ポスト| しかし問題は、この投稿には 4 つの異なるモデルとフォーラムからのデータが含まれていることです。記事、ジョブポストには :user_id 列が含まれていますが、ポーリングには user_id フィールドの列名として created_by が含まれています。次の行で
- if User.find(post.user_id).basic_info or User.find(post.created_by).basic_info
- if User.find(post.user_id).basic_info.profilephoto?
= image_tag User.find(post.user_id).basic_info.profilephoto.url(:thumb)
どうすれば次のような条件を与えることができますか
- if User.find(post.user_id).basic_info or User.find(post.created_by).basic_info
また
- if User.find(post.user_id or post.created_by).basic_info