我们有2个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
我如何在Rails 4和PostgreSQL 9.3中做到这一点?
答案 0 :(得分:0)
似乎无法使用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
现在,我可以轻松访问AliasKeywords.first.alias_keywords