Ruby on rails 3 将where子句与外键一起使用

Ruby on rails 3 将where子句与外键一起使用,ruby-on-rails-3,activerecord,Ruby On Rails 3,Activerecord,在我的应用程序中,我有一个搜索字段来查找足球访问。我希望它能够通过俱乐部的访问进行搜索。在我的模型中,visit属于俱乐部,所以visit有一个字段“俱乐部id”。因此,当我使用ID搜索时,它会找到俱乐部,但我希望能够通过俱乐部名称找到它。“俱乐部id”应该替换为“visit.club.name”之类的内容,但我如何才能做到这一点?这是我当前的查询: # Find visits def find_anything(find_phrase) unless find_phrase.b

在我的应用程序中,我有一个搜索字段来查找足球访问。我希望它能够通过俱乐部的访问进行搜索。在我的模型中,visit属于俱乐部,所以visit有一个字段“俱乐部id”。因此,当我使用ID搜索时,它会找到俱乐部,但我希望能够通过俱乐部名称找到它。“俱乐部id”应该替换为“visit.club.name”之类的内容,但我如何才能做到这一点?这是我当前的查询:

  # Find visits
  def find_anything(find_phrase)
    unless find_phrase.blank?
      @visits = Visit.where('address LIKE ? OR ground LIKE ? OR club_id LIKE ?',
                "%#{find_phrase}%",
                "%#{find_phrase}%",
                "%#{find_phrase}%")
    end
  end

这应该可以做到:

Visit.where(club_id: Club.where(name: "ClubName"))
*这假设俱乐部模式有很多:访问

    Club.joins(:visits).where('visits.club_id' => club_id).first.name
    Club.find(Visit.find_by_club_id(club_id)).name