此映射有效:
@fbc = FbComments.where("reviewee_id = ?", current_user.id)
@users = User.order("last_name")
@fb_comments = @fbc.map! { |fb| [fb, @users.find_by_id(fb.user_id)] }
因此映射了两个数组...一个带有注释,另一个带有发表注释的人的用户数据。但我还需要用户的个人资料图片数据。我是否更改原始映射方法以某种方式包含第三个数组(例如@fbc + @users + @pictures),或者我是否必须映射前两个映射结果的另一个数组(例如@fb_comments + @pictures)?
个人资料图片(如评论)的user_id与发表评论的用户的ID相匹配。
感谢。
答案 0 :(得分:2)
我不确定你为什么这样做。为什么不使用连接(.includes
)来获取一个查询中的所有内容?
@fbc = FbComments.where("reviewee_id = ?", current_user.id).includes(:user => :picture)
@fbc.first.user # => The first user in the results
@fbc.first.user.picture # => The first user's picture
(我在这里假设个人资料图片数据是自己的名为Picture
的模型。如有必要,请将其更改为适合您的应用。)
查看the documentation并向下滚动到“渴望加载关联。”