0
comments = Song.find(65).comments.select('comments.*, users.*').includes(:user).limit(20) 

我如何将用户包含在结果集中?

我正在使用PusherApp并尝试执行以下操作:

    Pusher["foo"].trigger("bar", { 
      :comments => comments
    })
4

2 回答 2

1

如果您想使用自定义字段快速生成 json,则最好阅读本教程

它基本上使用这样的方法:

def self.lightning
  connection.select_all(select([:latitude, :longitude, :timestamp, :virtual_odometer]).arel).each do |attrs|
    attrs.each_key do |attr|
      attrs[attr] = type_cast_attribute(attr, attrs)
    end
  end
end

这将返回一个哈希数组。

然后用render json: Oj.dump(@statuses.lightning, mode: :compat),和oj gem

于 2012-11-07T11:41:15.793 回答
0

用 joins(:user) 替换 includes(:user) ,您将能够选择用户字段

comments = Song.find(65).comments.select('comments.*, users.*').joins(:user).limit(20) 
于 2012-11-07T11:14:58.960 回答