关联联合数据

时间:2013-03-14 12:56:15

标签: ruby-on-rails ruby-on-rails-3 associations

Rails新手在这里,我有两个相关的模型

  class User < ActiveRecord::Base
    has_many :images

  class Image < ActiveRecord::Base
    belongs_to :user

我知道你可以获取用户图片,我也可以使用我的current_user方法返回当前用户的信息

@user.images or current_user.images

如果我希望它像一般的sql一样返回一行中的图像数据和用户数据,该怎么办。

SELECT u.* FROM users u
JOIN images i
ON i.user_id = u.id etc..

最好和最有效的方法是什么?

1 个答案:

答案 0 :(得分:2)

查询 -

SELECT u.* FROM users u
JOIN images i
ON i.user_id = u.id etc..

相当于 -

@user.joins(:images)

更新:

仅获取某些字段 -

@comments = @user.joins(:images).select("images.path, images.path_thumb, users.username")