ROR 3, определяющий связь с внешним ключом

#ruby-on-rails-3 #foreign-keys #associations #foreign-key-relationship

#ruby-on-rails-3 #внешние ключи #ассоциации #связь с внешним ключом

Вопрос:

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

Я хотел бы определить два поля в игровой модели — host_id и visitor_id, которые отображаются через отношение внешнего ключа к пользовательской модели. Идентификаторы полей ‘host’ и ‘visitor’ класса Game в основном определяют двух игроков, которые будут участвовать в одноранговой игре … и эти поля должны быть сопоставлены с реальными пользователями приложения, как определено в пользовательской модели с помощью userId..

Спасибо!

Ответ №1:

Пробовал ли это http://guides.rubyonrails.org/association_basics.html ? Я думаю, что это могло бы быть так:

 class User
  belongs_to :game
end
class Game
  has_one :host_user, :class_name => "User"
  has_one :visit_user, :class_name => "User"
end
  

Комментарии:

1. Спасибо за ответ! еще одно мое требование заключается в том, что пользователь может участвовать во многих играх… итак, как мне это добавить? может ли пользователь принадлежать к_to:game так же, как has_many:games?

2. Для этого вам следует прочитать об ассоциации has_and_belongs_to_many.