我确定我做的很蠢,但我的AR代码
@comments = Comment.find(:all, :limit => 10,
:joins => "LEFT JOIN `users` ON comments.user_id = users.id",
:select => 'comments.*, users.theme')
返回正确的sql:
SELECT comments.*, users.theme from comments LEFT JOIN users on comments.user_id = users.id
当我把它放到mysql中时,我得到了我想要的结果,但是当我在上面的AR调用之后尝试访问@comment.theme
(在@comments的每个循环中)时,{{1不存在。
那么,我是否需要对Comments模型做些特别的事情来允许连接填充关联的列?我认为Rails会将它们添加为我可以抓住的属性。
答案 0 :(得分:1)
试试这个:
@comments.each do |comment|
puts comment.theme
end
所有字段都在数组@comments中,作为对象类型注释,字段名称在选择中使用,不考虑其原始来源。
祝你好运。