Итак, я новичок в Ruby и Rails, и я пытаюсь сделать то, что, как мне кажется, называется вложенной ассоциацией (пожалуйста, поправьте меня, если это неправильная терминология). В настоящее время у меня есть модель User и модель Domains, и у меня есть много разных ассоциаций (используя has_many: through) между ними, и это работает нормально.Проблема с вложенными ассоциациями Rails
Теперь я хочу расширить это, чтобы разрешить одну роль для каждого домена для каждого пользователя (например, User1 является членом Domain1 и имеет роль «Admin»). Я установил модель ролей с одним полем (имя: строка) и создал три роли. Я также добавил столбец role_id в таблицу соединений (членство). Я ожидал, что (и это, вероятно, вопрос), чтобы иметь возможность просто использовать
user1 = User.find(1)
user1.domains.first
=> <some domain object>
user1.domains.first.role
=> <some role object>
но это возвращает метод не определена ошибка.
Может ли кто-нибудь сказать мне, что я не могу понять здесь?
Мои модели классов можно увидеть на http://gist.github.com/388200
Я по-прежнему изо всех сил пытаюсь получить эту рабочую область в домене. Я хочу, чтобы каждый пользователь имел отдельную роль в каждом домене, членом которого он является. Можете ли вы объяснить, какую ассоциацию мне нужно достичь? –