我需要关于Rails ActiveRecord连接的帮助-我知道如何在SQL中实现它

我需要关于Rails ActiveRecord连接的帮助-我知道如何在SQL中实现它,sql,ruby-on-rails,activerecord,join,Sql,Ruby On Rails,Activerecord,Join,我有两个表需要连接,但两个表中的user_id列值不同。所以我想这样做: 在我的控制器中,4将替换为当前用户id select*from sites join pickups on sites.id=pickups.site\u id where sites.user\u id='4' 但是使用ActiveRecord查找 以下是我的联想: class Site < ActiveRecord::Base belongs_to :user has_many :pickups cla

我有两个表需要连接,但两个表中的user_id列值不同。所以我想这样做:

在我的控制器中,
4
将替换为
当前用户id

select*from sites join pickups on sites.id=pickups.site\u id where sites.user\u id='4'

但是使用ActiveRecord查找

以下是我的联想:

class Site < ActiveRecord::Base
  belongs_to :user
  has_many :pickups

class Pickup < ActiveRecord::Base  
 belongs_to :site   
 belongs_to :user

class User < ActiveRecord::Base
    has_one  :profile
    has_many :pickups
    has_many :sites
类站点
提前谢谢

试试这个:

sites = current_user.sites.find(:all, :include => [:pickup])

如果将其添加到用户模型中:

has_many :site_pickups, :through => :sites, :source => :pickups
你能行

current_user.site_pickups

您说过“两个表中的user_id列值不相同”。您的表的模式是什么?列名是什么?我的意思是拾取可以与不同于站点的用户关联。在我的模型中,我必须做:
有很多:站点拾取,:通过=>:站点,:source=>:拾取