Ruby on rails 通过其他模型上的数组字段在rails中自联接

Ruby on rails 通过其他模型上的数组字段在rails中自联接,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我们有两个PostgreSQL表,如下所示: Keywords table: id, keyword (string) Joins table: id, keyword_ids (integers array) 现在,我想向关键字和别名模型添加关联,如下所示 class Keyword < ActiveRecord::Base has_many :joins end class Join < ActiveRecord::Base belongs_to :keyword

我们有两个PostgreSQL表,如下所示:

Keywords table: id, keyword (string)
Joins table: id, keyword_ids (integers array)
现在,我想向关键字和别名模型添加关联,如下所示

class Keyword < ActiveRecord::Base
   has_many :joins
end

class Join < ActiveRecord::Base
   belongs_to :keywords foreign_key: 'keyword_ids'
end
class关键字

如何在Rails 4和PostgreSQL 9.3中做到这一点?

似乎Rails关联无法做到这一点,因此我采用了以下模型/类方法

def alias_keywords
  AliasKeyword.select("keyword").joins("JOIN alias_joins ON alias_keywords.id = ANY(alias_joins.joins)").where("? = ANY(alias_joins.joins)", self.id).map{|x| x.keyword}
end

现在,我可以很容易地访问alias关键字。首先,alias_关键字

这可能会有帮助:,@Aboelnour我在这里和这里找到了更好的文章,但他们没有提到关联!