Ruby on rails activerecord join - 从多个表中选择字段

Say*_*yuj 2 ruby activerecord join ruby-on-rails

楷模:

#StatusMessage model
class StatusMessage < ActiveRecord::Base
  belongs_to :users
  default_scope :order => "created_at DESC"
end


#User Model
class User < ActiveRecord::Base
  has_many :status_messages 
end
Run Code Online (Sandbox Code Playgroud)

在控制器中,我想连接这两个表并从两个表中获取字段.例如,我想要email来自Userstatus来自的领域StatusMessage.我用的时候:

@status = User.joins(:status_messages)
Run Code Online (Sandbox Code Playgroud)

要么

@status = User.includes(:status_messages)
Run Code Online (Sandbox Code Playgroud)

它只给我用户表数据.

我该如何实现这个要求?

apn*_*ing 6

你需要在includes这里使用.它会预加载数据,因此您不会有其他SQL查询@user.status_messages.

是的,你无法真正看到效果:你需要检查你的日志.