我使用has_and_belongs_to_many建立关系以关联用户和事件。然后我试试这个:
user = User.find(1)
event = Event.find(1
)
这两个目前都没有关联...然后我尝试通过执行以下操作来关联它们:
user.events << event
此操作有效......但是,它们之间没有正确关联:
user.events为此用户正确列出事件...但event.users没有与之关联的用户。
如何制作它以便当我将一个与另一个相关联时(事件与用户或用户有事件)...它会自动关联另一种方式?
答案 0 :(得分:1)
两个模型中都存在has_and_belongs_to_many
吗?它听起来不是,而should be:
# 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
答案 1 :(得分:0)
假设您的链接设置正确,您可以测试一下:
user.events << event
event.reload.users
这将显式重新加载数据库中的数据,而不是使用本地缓存的版本。如果您曾经访问过该关联,它将不再在数据库中查找,除非您明确询问它。
这有帮助吗?