отношения has_and_belongs_to_many не связаны между собой - PullRequest
0 голосов
/ 01 июня 2011

Я установил отношения, используя has_and_belongs_to_many, чтобы связать пользователей и события. Тогда я пытаюсь это:

user = User.find(1)
event = Event.find(1

)

оба они в настоящее время не связаны ... затем я пытаюсь связать их, выполнив:

user.events << event

это действие работает ... однако они не связаны друг с другом корректно:

user.events правильно перечисляет событие для этого пользователя ... но с event.users этот пользователь не связан с ним.

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

Ответы [ 2 ]

1 голос
/ 01 июня 2011

has_and_belongs_to_many присутствует в обеих моделях? Похоже, что это не так, тогда как должно быть :

# models/user.rb
class User < ActiveRecord::Base
  has_and_belongs_to_many :events
end

# models/event.rb
class Event < ActiveRecord::Base
  has_and_belongs_to_many :users
end
0 голосов
/ 01 июня 2011

Если ваши ссылки настроены правильно, вы можете проверить это:

user.events << event
event.reload.users

Это явным образом перезагрузит данные из базы данных, вместо использования версии с локальным кэшированием. Если вы когда-либо обращались к ассоциации, она больше не будет искать ее в базе данных, если вы явно не спросите ее.

Это помогает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...