Railsについては何も知りませんが、SQLで同様のことを試みています。これは、私たちのどちらにとってもうまくいくかもしれないし、うまくいかないかもしれません....
記事のテーブルと、適用されたカテゴリのルックアップ テーブルがあります。「セキュリティ」カテゴリと「レール」カテゴリを持つ記事を取得するために、もちろん、記事テーブルをカテゴリ テーブルに結合しますが、2 回目に再結合します。カテゴリ テーブルの各結合では、テーブル エイリアス名 (つまり、言語またはトピック) 擬似コードでヒントが使用されます。
SELECT article.*,
category_language.category_id,
category_topic.category_id
FROM category category_language
INNER JOIN article ON category_language.articleID = article.articleID
INNER JOIN category category_topic ON article.articleID = category_topic.articleID
WHERE category_language.category_id in (420) /* rails */
and category_topic.category_id in (421) /* security */
これは完全に解決されたわけではありません。ここで私の無知を示している場合は、誰かが声を上げてくれることを願っています.