【发布时间】:2015-08-21 00:54:40
【问题描述】:
我有这些模型
class User < ActiveRecord::Base
has_and_belongs_to_many :chats
end
和
class Chat < ActiveRecord::Base
has_and_belongs_to_many :users
end
这是一个多对多关系,我想要恢复与 2 个用户存在的唯一可能的聊天
例如。
me = current_user
user_to_chat = User.find(any_user_except_me)
chat = Chat.new
me.chats.each do |current_chat|
if current_chat.users.include?(user_to_chat)
chat = current_chat
break
end
end
执行此查询的更好方法是什么?
谢谢!
【问题讨论】:
-
如果可以,您应该考虑将这些更改为
:has_many :through关系。除非您使用的是旧版本的 Rails,否则这是一个更好的结构。 -
我会进一步了解。谢谢
标签: sql ruby-on-rails ruby activerecord has-and-belongs-to-many