如何解决has_and_belongs_to_many关系没有双向关联
|| 我使用has_and_belongs_to_many建立了关联用户和事件的关系。然后我尝试一下:user = User.find(1)
event = Event.find(1
)
这两个当前均未关联...然后,我尝试通过以下方式将它们关联:
user.events << event
此操作有效...但是,它们彼此之间无法正确关联:
user.events正确列出了该用户的事件...但是event.users没有与此用户关联的事件。
我如何做到这样,当我将一个彼此关联(事件与用户或用户与事件)...时,它会自动将另一种方式关联?
解决方法
两个模型中都带有ѭ2吗?听起来好像不是,但应该是:
# 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
, 假设您的链接设置正确,则可以进行以下测试:
user.events << event
event.reload.users
这将显式地从数据库中重新加载数据,而不是使用本地缓存的版本。如果您曾经访问过该关联,则除非您明确询问,否则它将不再在数据库中查找该关联。
有帮助吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。