0

我有一个 Rails 代码查询数据库中的员工对象,这些对象有很多social_url_for_service(用于各种服务)。它的实现方式是,首先从数据库中获取所有员工,然后使用 Twitter 搜索员工。有什么方法可以直接查找此关联(例如使用 Employee.find() 方法)?

@e = Employee.all
@employees = []
@tweets = []
@e.each do |employee|
  if employee.social_url_for_service(:twitter)
    @employees << employee
    @tweets.concat(Twitter.user_timeline(employee.social_url_for_service(:twitter).split('/').last, count: 3))
  end
end
4

1 回答 1

1

假设social_url_for_service是一种获取social_service_link与字段关联的方法service_name

Employee.joins(:social_service_links).where('social_service_links.service_name = ?', "Twitter")

您需要为您的确切表和字段名称更新它。您还可以挂断.where电话,以任何形式的服务返回所有员工。

于 2013-02-12T17:28:39.320 回答