ruby-on-rails – 如何在返回记录后进行ActiveRecord的连接?

我在Rails 3中使用ActiveRecord从两个不同数据库中的两个不同表中提取数据.这些数据库不能相互连接,但我需要在事后进行简单的连接.我想保留这种关系,以便我可以将它链接起来.

这是我正在做的简化版本

browsers = Browser.all # <-- this is fairly small and can reside in memory
events = Event.where(:row_date=>Date.today).select(:name, :browser_id)

所以你可以看到,我想在事件关系中加入浏览器,其中browser_id应该等于browsers.name.事件是一种关系,我仍然可以在它上面添加子句,所以我不想在db上运行查询.我怎么做到这一点?

编辑

对于那些希望看到我在下面接受的答案的代码的人,这是我想出的:

class EventLog < ActiveRecord::Base
  belongs_to :browser

  def get_todays_events
    Event.where(:row_date=>Date.today).select(:name, :browser_id).includes(:browser)
  end
end

我会以下列方式获取浏览器名称

get_todays_events.browser.name

最佳答案 我会通过使用:include来实现这一点.在Ruby中尝试这样做会让你感到悲伤.你可以链接到包括就好了.

点赞