как связать одну модель дважды с другой

Привет, я создаю небольшой сайт, чтобы помочь мне и друзьям изучать языки. Типичное использование:

Адам английский, но изучает японский. Адам может практиковать свой японский, написав и отправив статьи, написанные на японском языке. Адам не может (не разрешается) представлять любые статьи, написанные на его родном языке. Адам может читать статьи (написанные на английском языке) другими пользователями, которые изучают английский

Я пытаюсь подумать, как смоделировать это, и это оказывается более сложным, чем у стандартных рельсов, ко многим относятся ассоциации, к которым я привык.

Мне нужна функциональность, как

-show all articles written in adams native language
@adam.native_language.articles

-show all posts written by users just like adam (i.e. learning the same language)
@adam.foreign_language.articles

-perhaps showing all posts written by language learners in one particular language
@language => Japanese
@langauge.posts

Мне нужен пользователь, статья и языковая модель. Но как мне связать язык и пользовательские модели? Такое ощущение, что язык должен быть связан дважды с моделью пользователя, один раз для native_language и один раз для foreign_language.

Ответы на вопрос(1)

Ваш ответ на вопрос